Developers

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
mjames
Visitor

Unable to get AES 128 encryption/decryption working

I have already looked at the thread viewtopic.php?f=34&t=40497 and tried to follow up on that thread – it does not seem to help.

I am unable to figure out how to use AES 128 encryption. Roku box keeps rebooting in most of the attempts. Otherwise, setup call returns -1. It is working fine if I use "bf” and a 64 bit initialization vector.

Appreciate your help.

Here is my code snippet - wondering if I am doing something wrong

alg = "aes-128-cbc"
pad = 1
encryptKey = "10a58869d74be5a374cf867cfb473859"
IV = "00000000000000000000000000000000"
plainText = "00000000000000000000000000000000"

encResult = crypto_encrypt(alg, encryptKey, IV, plainText, pad)


Function crypto_encrypt(alg as String, encryptKey As String, IV As String, text As String, pad as Integer) As String

crypto = CreateObject("roEVPCipher")
res = crypto.Setup(true, alg,encryptKey,IV,pad)
print res

ba = CreateObject("roByteArray")
ba.FromAsciiString(text)

enc = crypto.Process(ba)

return enc.ToHexString()

End function
Tags (1)
0 Kudos
4 REPLIES 4
vinodmangalath
Binge Watcher

Re: Unable to get AES 128 encryption/decryption working

alg ="aes-128-cbc"
pad = 1
encryptKey ="d4fcf78158762c2b"
IV ="d8fcf78848762c4b"
plainText = token
encResult = crypto_encrypt(alg,encryptKey,IV,plainText,pad)

function crypto_encrypt(alg, encryptKey, IV, plainText, pad)
encrypt = false
crypto = CreateObject("roEVPCipher")
res = crypto.Setup(encrypt,alg,encryptKey,IV,pad)

ba = CreateObject("roByteArray")
ba.FromAsciiString(plainText)
enc = crypto.Process(ba)
return (enc.ToBase64String())

end function

 

 

this is my code for aes-128-cbc decryption. but i'm not able to setUp cipher.  setup always call -1.Please suggest me, how to use aes-128-cbc cipher decryption

Tags (1)
0 Kudos
renojim
Community Streaming Expert

Re: Unable to get AES 128 encryption/decryption working

Your key and IV should be 16 hex characters.  Yours are only 8.

Roku Community Streaming Expert

Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.

I am not a Roku employee.
Tags (1)
0 Kudos
vinodmangalath
Binge Watcher

Re: Unable to get AES 128 encryption/decryption working

plaintext = "DWFf4sXI0idwUcQ8lMdung=="
cipher= "aes-128-cbc"
decryptKey= "2b7e151628aed2a6abf7158809cf4f3c"
IV ="000102030405060708090a0b0c0d0e0f"
pad = 1
decResult = crypto_decrypt(cipher, decryptKey, IV, plaintext, pad)

 


Function crypto_decrypt(cipher as String, decryptKeyAs String, IV As String, plaintext As String, pad as Integer) As String
crypto = CreateObject("roEVPCipher")
res = crypto.Setup(false, cipher,decryptKey,IV,pad)
print res
ba = CreateObject("roByteArray")
ba.FromBase64String(plaintext)
enc = crypto.Process(ba)
?"enc"enc
return enc.ToAsciiString()'
End function

 when i trying to process its showing invalid. . any thoughts?

Tags (1)
0 Kudos
white-wolf
Reel Rookie

Re: Unable to get AES 128 encryption/decryption working

looks like AES 128 only accepts encryption/decryption key 16 bytes long , your is bigger

 

encryptKey = "10a58869d74be5a374cf867cfb473859"

a key like this should be working

 10a58869d74be5a3 

16 bytes key for AES-128 encryption (16 * 8 = 128)

https://crypto.stackexchange.com/questions/44271/what-is-the-maximum-key-size-for-a-128-bit-aes

 

 

0 Kudos
Community is Temporarily in Read-Only Mode!

We’re upgrading Roku Community to bring you a faster, more mobile-friendly experience. You may notice limited functionality or read-only access during this time. You will not be able to log in or post new comments or kudos during this time. Read more here.

Planned Downtime:
Community will be unavailable for up to 24–48 hours during the upgrade window during the week of May 12 and you may notice reduced functionality. In the meantime, for additional assistance, visit our Support Site.

Thanks for your patience — we’re excited to share what’s next!