3
$\begingroup$

Advantages of having a 64-bit CPU vs 32-Bit CPU smartphone

3. Complex Encryption. Improved Security: 64-Bit can process incredibly large numbers allowing you to better encrypt data against unauthorized access.

source: http://www.amongtech.com/what-is-the-advantage-of-having-a-64-bit-smartphone/

Is the above statement correct, in particular with regards to the term “complex encryption”? I mean, how is the complexity increased with 64 bits? Is that related to the increase of the key size?

$\endgroup$
1
  • 3
    $\begingroup$ 32-bit ARM processors can already perform a large amount of 64-bit operations using NEON instructions. Having a native 64-bit processor will result in performance and efficiency improvements only. ARMv8 also has additional AES and SHA1/256 instructions that are separate from NEON and TrustZone $\endgroup$ – Richie Frame Aug 15 '14 at 19:03
9
$\begingroup$

In terms of marketing hype, that statement rates about a 9 in a scale from 0-10.

The reason is that we don't choose the encryption algorithm based on how many bits the CPU can handle at once. Instead, we choose a secure algorithm, and then implement it using the resources that the CPU provides us. There aren't any algorithms we cannot implement on a 32 bit CPU; hence a 64 bit CPU does not allow us to use new ones.

Now, there is a tiny kernel of truth there (and so doesn't rate a perfect 10 on the scale); sometimes a 64 bit CPU allows us to implement an algorithm more efficiently than a 32 bit CPU. However, the delta is usually not large enough to influence an 'can-we-encrypt' decision.

$\endgroup$
1
  • 3
    $\begingroup$ Actually, there is probably a technical basis for that statement: ARMv8 processors introduce both 64-bit general registers and hardware acceleration for AES and SHA-{1,2}. But the two are not correlated. $\endgroup$ – Gilles 'SO- stop being evil' Aug 15 '14 at 19:51
6
$\begingroup$

Saying that the large numbers you can handle with 64 bits allow for better encryption is misleading. 64 bits is too short for modern cryptographic algorithms.

Those algorithms which do rely on large numbers, need numbers much larger than 64 bits. For those, the computation have to be split up and processed in smaller parts. But being able to process 64 bits at a time rather than 32 means you can reduce the number of instructions needed by a factor of 2-4.

Symmetric algorithms, which don't work with large numbers but rather with multiple variables each sized conveniently for machine words, things may be different. For example the SHA2 algorithm can work with either 32 bit words (SHA-224 and SHA-256) or 64 bit words (all the other SHA2 variants). All the variants can be computed on both 32 and 64 bit CPUS. On a 32 bit CPU, the 32 bit variants are faster than the 64 bit variants. On a 64 bit CPU, the 64 bit variants are faster than the 32 bit variants.

In the end the most significant challenge to cryptography on a smartphone, is how the user can enter a password or a crypto key with sufficient entropy through the limited user interface. The type of CPU doesn't change that challenge at all.

$\endgroup$
3
  • $\begingroup$ would you please give the names for some of these modern cryptographic algorithms $\endgroup$ – Ubaidah Aug 16 '14 at 5:10
  • $\begingroup$ I'm not sure about the correctness of the last statement. Normally a user should not have to enter a key directly, let alone a smartphone user. $\endgroup$ – Maarten Bodewes Aug 16 '14 at 21:57
  • $\begingroup$ @owlstead WPA-PSK is one example where a key might be entered directly by the user. (With the right software installed an Android phone can enter the key via a QR code instead). The point isn't so much, whether what the user enters is called a password or a key. The point is, that the entropy of what the user enters is all that stands between the user's data and an adversary with physical access to the device. $\endgroup$ – kasperd Aug 17 '14 at 8:37
0
$\begingroup$

No, it's not correct. When large bit-wise operations are used in cryptography, they are normally decomposed into byte[], not int32[]. Prime-modulus PK operations are done with large number libraries, on 2048 bits, so again, there is no real advantage to a 64 bit architecture over a 32 bit architecture.

Further, the problem with encryption was never speed. Encryption algorithms are plenty fast enough to run on existing 32 bit architectures with no perceptible performance degradation.

The real problem in the mobile market is that most app vendors (around 70% on Android) don't bother to use encryption - at all. Unfortunately, that includes popular apps like Outlook, many games, etc.

$\endgroup$
6

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.