<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create_ospf_area_with_message_digest_auth():
 """ If you require message-digest authentication for your OSPFArea, you must create an OSPF key chain configuration. """

    OSPFKeyChain.create(name='secure-keychain',
                        key_chain_entry=[{'key': 'fookey',
                                          'key_id': 10,
                                          'send_key': True}])

    """
    An OSPF interface is applied to a physical interface at the engines routing
    node level. This configuration is done by an OSPFInterfaceSetting element. To
    apply the key-chain to this configuration, add the authentication_type of 
    message-digest and reference to the key-chain
    """
    key_chain = OSPFKeyChain('secure-keychain')  # obtain resource
    OSPFInterfaceSetting.create(name='authenicated-ospf',
                                authentication_type='message_digest',
                                key_chain_ref=key_chain.href)

    """
    Create the OSPFArea and assign the above created OSPFInterfaceSetting.
    In this example, use the default system OSPFInterfaceSetting called
    'Default OSPFv2 Interface Settings'
    """
    for profile in describe_ospfv2_interface_settings():
        if profile.name.startswith('Default OSPF'):  # Use the system default
            interface_profile = profile.href

    OSPFArea.create(name='area0',
                    interface_settings_ref=interface_profile,
                    area_id=0)