Encryption Algorithm

The encryption algorithm is AES 256 or is messaging solely AES?
And the hash integrity function is 512bit SHA and messaging is 256bit SHA?

I could run different algorithms against known keys and figure it out, but the white paper https://www.nem.io/NEM_techRef.pdf left me with more questions.

Are precompute tables implemented for speed? Is Intel aesenc and aesenclast supported or AMD Bulldozer?

Could anyone clarify this?

-Arthur

cbc-aes

nem is java, so regarding intel instructions usage, it’s up to JVM

what hash integrity do you have in mind?

(nano mimic ncc behavior: https://github.com/NemProject/NanoWallet/blob/master/src/app/utils/CryptoHelpers.js#L252)

After reading the code linked from GitHub you answered my question. Mixed algorithms and choices, woah.

I’m not natively a Java developer so I did a google on the instruction set.

Side note, I was a Sun Microsystem engineer pre-Oracle and always dissed Java that it was a memory hog, but NEM has changed my opinion. It’s effing fast, I’ve got motivation to develop in Java finally.

Thank you!

Nis itself does not care about encryption, it’s a client thing.

There are two parts:

encoded message consists of salt, iv and encoded data

My question is purely academic from a cryptography aspect. Took the cryptography course from Stanford university and curious as to the algorithm.

“don’t roll your own crypto” - is our motto :wink:

1 Like