In your first attempt it would appear that the unknown user issuing the command doesn't himself have access sys.dbms_crypto. In the second case, privs are GRANTed to either users or roles. Neither users nor roles are themselves part of some other schema, as suggested by your qualification of "DB_Project" with the schema SYSTEM is invalid syntax for a GRANT.
Also beware that you have enclosed "DB_Project" in double-quotes. This will force case sensitivity on the name, which is a Very Bad Practice in oracle. If you create an object name enclosed in double-quotes, you will always and forever have to refer to in in double quotes and the exact case in which it was created. Create the name without double-quotes and it will be case INsensitve .. you will always be able to refere to it in any case you want, as long as you do not enclose it in double-quotes.