Last Comment Bug 821855 - SRTP fails to initialize on Android when crypto_kernel_init ciphers fail their self tests at load time
: SRTP fails to initialize on Android when crypto_kernel_init ciphers fail thei...
Status: RESOLVED FIXED
[qa-]
:
Product: Core
Classification: Components
Component: WebRTC: Networking (show other bugs)
: Trunk
: ARM Android
-- normal (vote)
: mozilla20
Assigned To: Dan Mosedale (:dmose)
: Jason Smith [:jsmith]
: Maire Reavy [:mreavy] Please needinfo me
Mentors:
Depends on: 822380
Blocks: 819854
  Show dependency treegraph
 
Reported: 2012-12-14 12:48 PST by Dan Mosedale (:dmose)
Modified: 2012-12-23 13:44 PST (History)
5 users (show)
dmose: in‑testsuite?
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
patch to turn on SRTP crypto debug logging on stdout (1.87 KB, patch)
2012-12-15 14:55 PST, Dan Mosedale (:dmose)
no flags Details | Diff | Splinter Review
switch ARM builds to use CPU_CISC, since that code works (891 bytes, patch)
2012-12-15 16:09 PST, Dan Mosedale (:dmose)
rjesup: review+
Details | Diff | Splinter Review
switch to use CPU_CISC, v2 (1.12 KB, patch)
2012-12-17 11:09 PST, Dan Mosedale (:dmose)
dmose: review+
Details | Diff | Splinter Review

Description User image Dan Mosedale (:dmose) 2012-12-14 12:48:08 PST
Seen when running the signalling unit tests.  Investigation underway.
Comment 1 User image Dan Mosedale (:dmose) 2012-12-14 14:08:20 PST
At first, 

 status = crypto_kernel_load_cipher_type(&aes_icm, AES_ICM);

was failing out of its initialization tests with a status of err_status_algo_fail.

So I tried commenting out AES_ICM, in the hopes that it was just something wonky with that algorithm.  Now it simply fails in the same way trying to load the very next cipher, AES_CBC.  Hmmm...
Comment 2 User image Dan Mosedale (:dmose) 2012-12-15 12:44:55 PST
ekr has a hypothesis that inverted endianness may be the problem here, and also points out the WORDS_BIGENDIAN define in aes.c.  Shouldn't be too hard to test this hypothesis.

An interesting wrinkle is that ARM is said to be "bi-endian".
Comment 3 User image Dan Mosedale (:dmose) 2012-12-15 14:14:50 PST
It turned out while we were compiling without WORDS_BIGENDIAN defined, a test compile with WORDS_BIGENDIAN defined produced no change in behavior.  :-(

Next thing to try:

* get debug logging turned and see if that sheds any light

Failing that, maybe even:

* hook up the crypto unit tests
Comment 4 User image Dan Mosedale (:dmose) 2012-12-15 14:54:51 PST
Got logging working.  The null cipher passes all of its tests, suggesting that the test suite itself is likely functioning correctly.  Then AES_ICM fails on the very first one:

out> cipher: running self-test for cipher null cipher
out> cipher: allocating cipher with key length 0
out> cipher: testing encryption
out> cipher: initializing null cipher
out> cipher: plaintext:    
out> cipher: ciphertext:   
out> cipher: testing decryption
out> cipher: initializing null cipher
out> cipher: ciphertext:    
out> cipher: plaintext:   
out> cipher: allocating cipher with key length 0
out> cipher: random plaintext length 3
out> 
out> cipher: plaintext:    51ccef
out> cipher: initializing null cipher
out> cipher: ciphertext:   51ccef
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 51ccef
out> cipher: random plaintext length 33
out> 
out> cipher: plaintext:    dec2a99e0ab4919444c97c490f2bb3675b70b498c050ff8a57727c12355f8c6c85
out> cipher: initializing null cipher
out> cipher: ciphertext:   dec2a99e0ab4919444c97c490f2bb3675b70b498c050ff8a57727c12355f8c6c85
out> cipher: initializing null cipher
out> cipher: plaintext[2]: dec2a99e0ab4919444c97c490f2bb3675b70b498c050ff8a57727c12355f8c6c85
out> cipher: random plaintext length 23
out> 
out> cipher: plaintext:    d3d627f22d07d1d47f19184cfa0faa43729fcdf22d313a
out> cipher: initializing null cipher
out> cipher: ciphertext:   d3d627f22d07d1d47f19184cfa0faa43729fcdf22d313a
out> cipher: initializing null cipher
out> cipher: plaintext[2]: d3d627f22d07d1d47f19184cfa0faa43729fcdf22d313a
out> cipher: random plaintext length 7
out> 
out> cipher: plaintext:    88ad98aecf90b6
out> cipher: initializing null cipher
out> cipher: ciphertext:   88ad98aecf90b6
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 88ad98aecf90b6
out> cipher: random plaintext length 46
out> 
out> cipher: plaintext:    3eb617e6e874b559433f767a0008f367863febdfbcdc2011737cce8f73a3c96220203237c98ed5b68ef622f3eb92
out> cipher: initializing null cipher
out> cipher: ciphertext:   3eb617e6e874b559433f767a0008f367863febdfbcdc2011737cce8f73a3c96220203237c98ed5b68ef622f3eb92
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 3eb617e6e874b559433f767a0008f367863febdfbcdc2011737cce8f73a3c96220203237c98ed5b68ef622f3eb92
out> cipher: random plaintext length 31
out> 
out> cipher: plaintext:    a4378f72d85a995956f112219568991aaf3ccad89642b98364929bdbd10e85
out> cipher: initializing null cipher
out> cipher: ciphertext:   a4378f72d85a995956f112219568991aaf3ccad89642b98364929bdbd10e85
out> cipher: initializing null cipher
out> cipher: plaintext[2]: a4378f72d85a995956f112219568991aaf3ccad89642b98364929bdbd10e85
out> cipher: random plaintext length 13
out> 
out> cipher: plaintext:    10b210a4d6f1535082fdb9ecea
out> cipher: initializing null cipher
out> cipher: ciphertext:   10b210a4d6f1535082fdb9ecea
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 10b210a4d6f1535082fdb9ecea
out> cipher: random plaintext length 4
out> 
out> cipher: plaintext:    7c069e21
out> cipher: initializing null cipher
out> cipher: ciphertext:   7c069e21
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 7c069e21
out> cipher: random plaintext length 56
out> 
out> cipher: plaintext:    ef350374b94d4deac43a6dec0ff806c130cf3162312add9f0586e15fa686a004cc2358ed4b0007150adbfad89b20f3d67c98f6f0e93eb070
out> cipher: initializing null cipher
out> cipher: ciphertext:   ef350374b94d4deac43a6dec0ff806c130cf3162312add9f0586e15fa686a004cc2358ed4b0007150adbfad89b20f3d67c98f6f0e93eb070
out> cipher: initializing null cipher
out> cipher: plaintext[2]: ef350374b94d4deac43a6dec0ff806c130cf3162312add9f0586e15fa686a004cc2358ed4b0007150adbfad89b20f3d67c98f6f0e93eb070
out> cipher: random plaintext length 34
out> 
out> cipher: plaintext:    6a2b51404eb3da61e113fd77babf5f37b9ecb9f49db2b3dab2dcecc3a75016b97e15
out> cipher: initializing null cipher
out> cipher: ciphertext:   6a2b51404eb3da61e113fd77babf5f37b9ecb9f49db2b3dab2dcecc3a75016b97e15
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 6a2b51404eb3da61e113fd77babf5f37b9ecb9f49db2b3dab2dcecc3a75016b97e15
out> cipher: random plaintext length 29
out> 
out> cipher: plaintext:    f2e2d6af58246bb877b90c49532550f67ff82af15383aa15cba76dffff
out> cipher: initializing null cipher
out> cipher: ciphertext:   f2e2d6af58246bb877b90c49532550f67ff82af15383aa15cba76dffff
out> cipher: initializing null cipher
out> cipher: plaintext[2]: f2e2d6af58246bb877b90c49532550f67ff82af15383aa15cba76dffff
out> cipher: random plaintext length 48
out> 
out> cipher: plaintext:    b591d72e84508d989eabe86ae820ba4ae49b561dd85dc4b69df89daa0576893fea9a5383cf3ea67836db676d7e27ae68
out> cipher: initializing null cipher
out> cipher: ciphertext:   b591d72e84508d989eabe86ae820ba4ae49b561dd85dc4b69df89daa0576893fea9a5383cf3ea67836db676d7e27ae68
out> cipher: initializing null cipher
out> cipher: plaintext[2]: b591d72e84508d989eabe86ae820ba4ae49b561dd85dc4b69df89daa0576893fea9a5383cf3ea67836db676d7e27ae68
out> cipher: random plaintext length 34
out> 
out> cipher: plaintext:    b696f937c208f9ef21d61c14c8b40da5146f6cbf2ba0ffe8810a06f87696aca51de8
out> cipher: initializing null cipher
out> cipher: ciphertext:   b696f937c208f9ef21d61c14c8b40da5146f6cbf2ba0ffe8810a06f87696aca51de8
out> cipher: initializing null cipher
out> cipher: plaintext[2]: b696f937c208f9ef21d61c14c8b40da5146f6cbf2ba0ffe8810a06f87696aca51de8
out> cipher: random plaintext length 54
out> 
out> cipher: plaintext:    c3ecfcf5dd1b10699540dc5f91d0aa8a06bf83f301fa894d500ef4660fe6a7bad2b16e226ce2d7a95a51aa7fcf7f06075df6190b3dcf
out> cipher: initializing null cipher
out> cipher: ciphertext:   c3ecfcf5dd1b10699540dc5f91d0aa8a06bf83f301fa894d500ef4660fe6a7bad2b16e226ce2d7a95a51aa7fcf7f06075df6190b3dcf
out> cipher: initializing null cipher
out> cipher: plaintext[2]: c3ecfcf5dd1b10699540dc5f91d0aa8a06bf83f301fa894d500ef4660fe6a7bad2b16e226ce2d7a95a51aa7fcf7f06075df6190b3dcf
out> cipher: random plaintext length 1
out> 
out> cipher: plaintext:    ad
out> cipher: initializing null cipher
out> cipher: ciphertext:   ad
out> cipher: initializing null cipher
out> cipher: plaintext[2]: ad
out> cipher: random plaintext length 48
out> 
out> cipher: plaintext:    a5708eb73ae70654c063ce7cb6fb44ded2923ded42ee118b0d76cf53988c91834585eb8536417d182f6ca81f9a505d06
out> cipher: initializing null cipher
out> cipher: ciphertext:   a5708eb73ae70654c063ce7cb6fb44ded2923ded42ee118b0d76cf53988c91834585eb8536417d182f6ca81f9a505d06
out> cipher: initializing null cipher
out> cipher: plaintext[2]: a5708eb73ae70654c063ce7cb6fb44ded2923ded42ee118b0d76cf53988c91834585eb8536417d182f6ca81f9a505d06
out> cipher: random plaintext length 4
out> 
out> cipher: plaintext:    d721d40f
out> cipher: initializing null cipher
out> cipher: ciphertext:   d721d40f
out> cipher: initializing null cipher
out> cipher: plaintext[2]: d721d40f
out> cipher: random plaintext length 7
out> 
out> cipher: plaintext:    af2760f8e8ce92
out> cipher: initializing null cipher
out> cipher: ciphertext:   af2760f8e8ce92
out> cipher: initializing null cipher
out> cipher: plaintext[2]: af2760f8e8ce92
out> cipher: random plaintext length 37
out> 
out> cipher: plaintext:    b632d625423379606609a94309112f8d14e08748625327e2d334dfec80865b6e086ec6e409
out> cipher: initializing null cipher
out> cipher: ciphertext:   b632d625423379606609a94309112f8d14e08748625327e2d334dfec80865b6e086ec6e409
out> cipher: initializing null cipher
out> cipher: plaintext[2]: b632d625423379606609a94309112f8d14e08748625327e2d334dfec80865b6e086ec6e409
out> cipher: random plaintext length 13
out> 
out> cipher: plaintext:    7b9b1cd994c8f48a5bacdd2c3a
out> cipher: initializing null cipher
out> cipher: ciphertext:   7b9b1cd994c8f48a5bacdd2c3a
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 7b9b1cd994c8f48a5bacdd2c3a
out> cipher: random plaintext length 63
out> 
out> cipher: plaintext:    9e52eee808b6bb5e640b327267671c7b129d4e6b4467940d692faadd517a64831bf2edee500e2c0a0c60421d567b30c3917e96840c42960fb41cd716e94fa5
out> cipher: initializing null cipher
out> cipher: ciphertext:   9e52eee808b6bb5e640b327267671c7b129d4e6b4467940d692faadd517a64831bf2edee500e2c0a0c60421d567b30c3917e96840c42960fb41cd716e94fa5
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 9e52eee808b6bb5e640b327267671c7b129d4e6b4467940d692faadd517a64831bf2edee500e2c0a0c60421d567b30c3917e96840c42960fb41cd716e94fa5
out> cipher: random plaintext length 16
out> 
out> cipher: plaintext:    a19e38d680d291eb59fa7773252095d9
out> cipher: initializing null cipher
out> cipher: ciphertext:   a19e38d680d291eb59fa7773252095d9
out> cipher: initializing null cipher
out> cipher: plaintext[2]: a19e38d680d291eb59fa7773252095d9
out> cipher: random plaintext length 25
out> 
out> cipher: plaintext:    d4973a9aab0445a4eedce5e90e4a62d3842e268c75867e3a01
out> cipher: initializing null cipher
out> cipher: ciphertext:   d4973a9aab0445a4eedce5e90e4a62d3842e268c75867e3a01
out> cipher: initializing null cipher
out> cipher: plaintext[2]: d4973a9aab0445a4eedce5e90e4a62d3842e268c75867e3a01
out> cipher: random plaintext length 17
out> 
out> cipher: plaintext:    24c5c734209fb12572a1590cf0c17fd8f4
out> cipher: initializing null cipher
out> cipher: ciphertext:   24c5c734209fb12572a1590cf0c17fd8f4
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 24c5c734209fb12572a1590cf0c17fd8f4
out> cipher: random plaintext length 38
out> 
out> cipher: plaintext:    96e876e466052e05b18fb8af76eae066a88b38b6b5b3aec9b559cb182c25863e7c99c3e8ea4a
out> cipher: initializing null cipher
out> cipher: ciphertext:   96e876e466052e05b18fb8af76eae066a88b38b6b5b3aec9b559cb182c25863e7c99c3e8ea4a
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 96e876e466052e05b18fb8af76eae066a88b38b6b5b3aec9b559cb182c25863e7c99c3e8ea4a
out> cipher: random plaintext length 12
out> 
out> cipher: plaintext:    6c783c74d71de0607c8d312d
out> cipher: initializing null cipher
out> cipher: ciphertext:   6c783c74d71de0607c8d312d
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 6c783c74d71de0607c8d312d
out> cipher: random plaintext length 62
out> 
out> cipher: plaintext:    4ed5da287bc3ebe08c3b8d1693193d9c96220cbb3a655f600ebd3f7472745e492302a73064f38027c9e69fafa3b186bc03a29cc66de1eafd1bf16f99ea55
out> cipher: initializing null cipher
out> cipher: ciphertext:   4ed5da287bc3ebe08c3b8d1693193d9c96220cbb3a655f600ebd3f7472745e492302a73064f38027c9e69fafa3b186bc03a29cc66de1eafd1bf16f99ea55
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 4ed5da287bc3ebe08c3b8d1693193d9c96220cbb3a655f600ebd3f7472745e492302a73064f38027c9e69fafa3b186bc03a29cc66de1eafd1bf16f99ea55
out> cipher: random plaintext length 37
out> 
out> cipher: plaintext:    1d04da9b46afd8123632715fa0926713db09a294f3b196d9d9ccc0c1baae50116d47e10905
out> cipher: initializing null cipher
out> cipher: ciphertext:   1d04da9b46afd8123632715fa0926713db09a294f3b196d9d9ccc0c1baae50116d47e10905
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 1d04da9b46afd8123632715fa0926713db09a294f3b196d9d9ccc0c1baae50116d47e10905
out> cipher: random plaintext length 24
out> 
out> cipher: plaintext:    324430a77d119d63f28caeb0959b83bda2a2525314e0b8be
out> cipher: initializing null cipher
out> cipher: ciphertext:   324430a77d119d63f28caeb0959b83bda2a2525314e0b8be
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 324430a77d119d63f28caeb0959b83bda2a2525314e0b8be
out> cipher: random plaintext length 30
out> 
out> cipher: plaintext:    e7b5c72affd59bcdf1c06398511013a14e61b486cc640cd12013ec7767ff
out> cipher: initializing null cipher
out> cipher: ciphertext:   e7b5c72affd59bcdf1c06398511013a14e61b486cc640cd12013ec7767ff
out> cipher: initializing null cipher
out> cipher: plaintext[2]: e7b5c72affd59bcdf1c06398511013a14e61b486cc640cd12013ec7767ff
out> cipher: random plaintext length 60
out> 
out> cipher: plaintext:    8a9ad120b9a7253376f693a34cbc669ebdb51ed18245811bf030c8d376f3fab243bd575f040dea96cbe942f40bb83a61c0bdf31aac30e359bbfa07a4
out> cipher: initializing null cipher
out> cipher: ciphertext:   8a9ad120b9a7253376f693a34cbc669ebdb51ed18245811bf030c8d376f3fab243bd575f040dea96cbe942f40bb83a61c0bdf31aac30e359bbfa07a4
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 8a9ad120b9a7253376f693a34cbc669ebdb51ed18245811bf030c8d376f3fab243bd575f040dea96cbe942f40bb83a61c0bdf31aac30e359bbfa07a4
out> cipher: random plaintext length 29
out> 
out> cipher: plaintext:    1e178fe77112d5b2e37027182b40ec4a4d1141ad1ce80a1e504d9a563f
out> cipher: initializing null cipher
out> cipher: ciphertext:   1e178fe77112d5b2e37027182b40ec4a4d1141ad1ce80a1e504d9a563f
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 1e178fe77112d5b2e37027182b40ec4a4d1141ad1ce80a1e504d9a563f
out> cipher: random plaintext length 1
out> 
out> cipher: plaintext:    7a
out> cipher: initializing null cipher
out> cipher: ciphertext:   7a
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 7a
out> cipher: random plaintext length 20
out> 
out> cipher: plaintext:    1344744f4c78df93c44b53b8ab52d47c10f333a0
out> cipher: initializing null cipher
out> cipher: ciphertext:   1344744f4c78df93c44b53b8ab52d47c10f333a0
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 1344744f4c78df93c44b53b8ab52d47c10f333a0
out> cipher: random plaintext length 19
out> 
out> cipher: plaintext:    cab8c22375c9a03dd91de0e474cd2441b2cdbd
out> cipher: initializing null cipher
out> cipher: ciphertext:   cab8c22375c9a03dd91de0e474cd2441b2cdbd
out> cipher: initializing null cipher
out> cipher: plaintext[2]: cab8c22375c9a03dd91de0e474cd2441b2cdbd
out> cipher: random plaintext length 33
out> 
out> cipher: plaintext:    3c46e63a5c1b4f9b3402124992e2e5cc692efa6e02347f92510241ae62f56ce6f2
out> cipher: initializing null cipher
out> cipher: ciphertext:   3c46e63a5c1b4f9b3402124992e2e5cc692efa6e02347f92510241ae62f56ce6f2
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 3c46e63a5c1b4f9b3402124992e2e5cc692efa6e02347f92510241ae62f56ce6f2
out> cipher: random plaintext length 26
out> 
out> cipher: plaintext:    e788755f4e22de50025709f956b07c67c76544ec7eb74610f3ed
out> cipher: initializing null cipher
out> cipher: ciphertext:   e788755f4e22de50025709f956b07c67c76544ec7eb74610f3ed
out> cipher: initializing null cipher
out> cipher: plaintext[2]: e788755f4e22de50025709f956b07c67c76544ec7eb74610f3ed
out> cipher: random plaintext length 36
out> 
out> cipher: plaintext:    2fea087913463da0b636e33b07b01a5cb922eb9cefd4fd4b8269f1c1f2845ad3e6885c61
out> cipher: initializing null cipher
out> cipher: ciphertext:   2fea087913463da0b636e33b07b01a5cb922eb9cefd4fd4b8269f1c1f2845ad3e6885c61
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 2fea087913463da0b636e33b07b01a5cb922eb9cefd4fd4b8269f1c1f2845ad3e6885c61
out> cipher: random plaintext length 46
out> 
out> cipher: plaintext:    cd368a5e947ab72669eeb6df559ab342ec13c233ccda2da44353ec270d5d32143a9224532e1ca4c7c2324c58892e
out> cipher: initializing null cipher
out> cipher: ciphertext:   cd368a5e947ab72669eeb6df559ab342ec13c233ccda2da44353ec270d5d32143a9224532e1ca4c7c2324c58892e
out> cipher: initializing null cipher
out> cipher: plaintext[2]: cd368a5e947ab72669eeb6df559ab342ec13c233ccda2da44353ec270d5d32143a9224532e1ca4c7c2324c58892e
out> cipher: random plaintext length 47
out> 
out> cipher: plaintext:    dddb8355393310f62379322a934707f9b9365889c3e66ef24b1b8f2e6002142c309128034f0c1f43a6a37068fb3951
out> cipher: initializing null cipher
out> cipher: ciphertext:   dddb8355393310f62379322a934707f9b9365889c3e66ef24b1b8f2e6002142c309128034f0c1f43a6a37068fb3951
out> cipher: initializing null cipher
out> cipher: plaintext[2]: dddb8355393310f62379322a934707f9b9365889c3e66ef24b1b8f2e6002142c309128034f0c1f43a6a37068fb3951
out> cipher: random plaintext length 34
out> 
out> cipher: plaintext:    cb380ee90eb0025a82db28d3dafe58555cdd2d3a253558861362a05552217a748670
out> cipher: initializing null cipher
out> cipher: ciphertext:   cb380ee90eb0025a82db28d3dafe58555cdd2d3a253558861362a05552217a748670
out> cipher: initializing null cipher
out> cipher: plaintext[2]: cb380ee90eb0025a82db28d3dafe58555cdd2d3a253558861362a05552217a748670
out> cipher: random plaintext length 15
out> 
out> cipher: plaintext:    f07218744a664c5a67818918de9cdc
out> cipher: initializing null cipher
out> cipher: ciphertext:   f07218744a664c5a67818918de9cdc
out> cipher: initializing null cipher
out> cipher: plaintext[2]: f07218744a664c5a67818918de9cdc
out> cipher: random plaintext length 5
out> 
out> cipher: plaintext:    73a6f593b6
out> cipher: initializing null cipher
out> cipher: ciphertext:   73a6f593b6
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 73a6f593b6
out> cipher: random plaintext length 56
out> 
out> cipher: plaintext:    77a8c437fb183f1cc41ecb87744db930029fee35fe96f6c2f1f3315ce2122bcaf5e00aa02f7a20695464a070f1636e2b76f80f457b79c047
out> cipher: initializing null cipher
out> cipher: ciphertext:   77a8c437fb183f1cc41ecb87744db930029fee35fe96f6c2f1f3315ce2122bcaf5e00aa02f7a20695464a070f1636e2b76f80f457b79c047
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 77a8c437fb183f1cc41ecb87744db930029fee35fe96f6c2f1f3315ce2122bcaf5e00aa02f7a20695464a070f1636e2b76f80f457b79c047
out> cipher: random plaintext length 9
out> 
out> cipher: plaintext:    07679490e8190bf9a4
out> cipher: initializing null cipher
out> cipher: ciphertext:   07679490e8190bf9a4
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 07679490e8190bf9a4
out> cipher: random plaintext length 37
out> 
out> cipher: plaintext:    d03c511d40f99c3861f737f0dc85bb709be828e979c09dc28989b3ec003d7753c017037082
out> cipher: initializing null cipher
out> cipher: ciphertext:   d03c511d40f99c3861f737f0dc85bb709be828e979c09dc28989b3ec003d7753c017037082
out> cipher: initializing null cipher
out> cipher: plaintext[2]: d03c511d40f99c3861f737f0dc85bb709be828e979c09dc28989b3ec003d7753c017037082
out> cipher: random plaintext length 59
out> 
out> cipher: plaintext:    a247f8b36f959d3f043758015ff198e290ed795a0e10a60eb568e8935dc150501857fd8207a58b5ad95c1841e26ff43bd44be4691c2413a8db6b96
out> cipher: initializing null cipher
out> cipher: ciphertext:   a247f8b36f959d3f043758015ff198e290ed795a0e10a60eb568e8935dc150501857fd8207a58b5ad95c1841e26ff43bd44be4691c2413a8db6b96
out> cipher: initializing null cipher
out> cipher: plaintext[2]: a247f8b36f959d3f043758015ff198e290ed795a0e10a60eb568e8935dc150501857fd8207a58b5ad95c1841e26ff43bd44be4691c2413a8db6b96
out> cipher: random plaintext length 35
out> 
out> cipher: plaintext:    4068f0c76b60dc197a9b32352b293820d094d42a0c0ad46c2ab2d771191fdaf108e263
out> cipher: initializing null cipher
out> cipher: ciphertext:   4068f0c76b60dc197a9b32352b293820d094d42a0c0ad46c2ab2d771191fdaf108e263
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 4068f0c76b60dc197a9b32352b293820d094d42a0c0ad46c2ab2d771191fdaf108e263
out> cipher: random plaintext length 35
out> 
out> cipher: plaintext:    8ec577210f0b6cd69a1baae3fe8d2c604ed549e4348c9722efe979b0ea4e4ce3faff2a
out> cipher: initializing null cipher
out> cipher: ciphertext:   8ec577210f0b6cd69a1baae3fe8d2c604ed549e4348c9722efe979b0ea4e4ce3faff2a
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 8ec577210f0b6cd69a1baae3fe8d2c604ed549e4348c9722efe979b0ea4e4ce3faff2a
out> cipher: random plaintext length 39
out> 
out> cipher: plaintext:    6363348a815c2894874778a97559805ad61f4f08b6f42f9f418dd384faae1d8a94ff891d71f939
out> cipher: initializing null cipher
out> cipher: ciphertext:   6363348a815c2894874778a97559805ad61f4f08b6f42f9f418dd384faae1d8a94ff891d71f939
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 6363348a815c2894874778a97559805ad61f4f08b6f42f9f418dd384faae1d8a94ff891d71f939
out> cipher: random plaintext length 0
out> 
out> cipher: plaintext:    
out> cipher: initializing null cipher
out> cipher: ciphertext:   
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 
out> cipher: random plaintext length 41
out> 
out> cipher: plaintext:    8430bae282fe379c47acbcbd13052459d04d8e6cc9065db4785f59297c3af21aa9d9a5e63a24785321
out> cipher: initializing null cipher
out> cipher: ciphertext:   8430bae282fe379c47acbcbd13052459d04d8e6cc9065db4785f59297c3af21aa9d9a5e63a24785321
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 8430bae282fe379c47acbcbd13052459d04d8e6cc9065db4785f59297c3af21aa9d9a5e63a24785321
out> cipher: random plaintext length 32
out> 
out> cipher: plaintext:    1206dd73d08ef948f7664fe9a4ea0dba0ba2b447b85d2be6f0e6ef0936666822
out> cipher: initializing null cipher
out> cipher: ciphertext:   1206dd73d08ef948f7664fe9a4ea0dba0ba2b447b85d2be6f0e6ef0936666822
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 1206dd73d08ef948f7664fe9a4ea0dba0ba2b447b85d2be6f0e6ef0936666822
out> cipher: random plaintext length 8
out> 
out> cipher: plaintext:    3e3554d9f401fcc1
out> cipher: initializing null cipher
out> cipher: ciphertext:   3e3554d9f401fcc1
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 3e3554d9f401fcc1
out> cipher: random plaintext length 56
out> 
out> cipher: plaintext:    a58c44ee34afa8439a0b5eef30c8aa773b39d94c35c1ebc146634ba8d2e6b9882ca1487c68e883ab4d13ab5f69271cc43f24ce3f9cebf669
out> cipher: initializing null cipher
out> cipher: ciphertext:   a58c44ee34afa8439a0b5eef30c8aa773b39d94c35c1ebc146634ba8d2e6b9882ca1487c68e883ab4d13ab5f69271cc43f24ce3f9cebf669
out> cipher: initializing null cipher
out> cipher: plaintext[2]: a58c44ee34afa8439a0b5eef30c8aa773b39d94c35c1ebc146634ba8d2e6b9882ca1487c68e883ab4d13ab5f69271cc43f24ce3f9cebf669
out> cipher: random plaintext length 61
out> 
out> cipher: plaintext:    5e31c45981a968daefbd1005b3e1f2074af157ff53955a32d3bf3f6221516d3874dc09de078431a9e6ffd2f459bc2708ea20ce3713eb880889b98d8c1f
out> cipher: initializing null cipher
out> cipher: ciphertext:   5e31c45981a968daefbd1005b3e1f2074af157ff53955a32d3bf3f6221516d3874dc09de078431a9e6ffd2f459bc2708ea20ce3713eb880889b98d8c1f
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 5e31c45981a968daefbd1005b3e1f2074af157ff53955a32d3bf3f6221516d3874dc09de078431a9e6ffd2f459bc2708ea20ce3713eb880889b98d8c1f
out> cipher: random plaintext length 52
out> 
out> cipher: plaintext:    e7de5b71a5aa6ca99e93bc8ee123497ab709c56cbd294170a3ce771d80fbb438cfdf60770a662b5fe1ecd64e170c9b95fa973bbd
out> cipher: initializing null cipher
out> cipher: ciphertext:   e7de5b71a5aa6ca99e93bc8ee123497ab709c56cbd294170a3ce771d80fbb438cfdf60770a662b5fe1ecd64e170c9b95fa973bbd
out> cipher: initializing null cipher
out> cipher: plaintext[2]: e7de5b71a5aa6ca99e93bc8ee123497ab709c56cbd294170a3ce771d80fbb438cfdf60770a662b5fe1ecd64e170c9b95fa973bbd
out> cipher: random plaintext length 27
out> 
out> cipher: plaintext:    e016ad77911c651ea775245af4f27ae4381a799bd1f4b8618d7273
out> cipher: initializing null cipher
out> cipher: ciphertext:   e016ad77911c651ea775245af4f27ae4381a799bd1f4b8618d7273
out> cipher: initializing null cipher
out> cipher: plaintext[2]: e016ad77911c651ea775245af4f27ae4381a799bd1f4b8618d7273
out> cipher: random plaintext length 25
out> 
out> cipher: plaintext:    73ba0984470e6de1fcb21d04fc5eb4883bcb1ee3ccd678a590
out> cipher: initializing null cipher
out> cipher: ciphertext:   73ba0984470e6de1fcb21d04fc5eb4883bcb1ee3ccd678a590
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 73ba0984470e6de1fcb21d04fc5eb4883bcb1ee3ccd678a590
out> cipher: random plaintext length 54
out> 
out> cipher: plaintext:    b66ce39929a3334c71944aa67cbcbc76d0cf666c34b4e0a76f240edc28dad61fec78ec524ef6c82729c7b9d3018a13518869844f3c12
out> cipher: initializing null cipher
out> cipher: ciphertext:   b66ce39929a3334c71944aa67cbcbc76d0cf666c34b4e0a76f240edc28dad61fec78ec524ef6c82729c7b9d3018a13518869844f3c12
out> cipher: initializing null cipher
out> cipher: plaintext[2]: b66ce39929a3334c71944aa67cbcbc76d0cf666c34b4e0a76f240edc28dad61fec78ec524ef6c82729c7b9d3018a13518869844f3c12
out> cipher: random plaintext length 14
out> 
out> cipher: plaintext:    4278c2eaa755184ea5cf7ca153e3
out> cipher: initializing null cipher
out> cipher: ciphertext:   4278c2eaa755184ea5cf7ca153e3
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 4278c2eaa755184ea5cf7ca153e3
out> cipher: random plaintext length 53
out> 
out> cipher: plaintext:    a64bb39ad4a4b838ea785a8029e5357af15847d84cb3cc38a51a48f7965ba3acdff86e4872d143c8aa724b949cf7da788698343c65
out> cipher: initializing null cipher
out> cipher: ciphertext:   a64bb39ad4a4b838ea785a8029e5357af15847d84cb3cc38a51a48f7965ba3acdff86e4872d143c8aa724b949cf7da788698343c65
out> cipher: initializing null cipher
out> cipher: plaintext[2]: a64bb39ad4a4b838ea785a8029e5357af15847d84cb3cc38a51a48f7965ba3acdff86e4872d143c8aa724b949cf7da788698343c65
out> cipher: random plaintext length 61
out> 
out> cipher: plaintext:    581986bce2843665d8edd1a3e6c25e6e71707bd61cbeaef067c6d95a7192cc6bde4ff5fcd33032ce1ee2c79673a76bacd2127d4c045e5486436ab3c8f9
out> cipher: initializing null cipher
out> cipher: ciphertext:   581986bce2843665d8edd1a3e6c25e6e71707bd61cbeaef067c6d95a7192cc6bde4ff5fcd33032ce1ee2c79673a76bacd2127d4c045e5486436ab3c8f9
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 581986bce2843665d8edd1a3e6c25e6e71707bd61cbeaef067c6d95a7192cc6bde4ff5fcd33032ce1ee2c79673a76bacd2127d4c045e5486436ab3c8f9
out> cipher: random plaintext length 13
out> 
out> cipher: plaintext:    360f6e4c623558c8b30e84fb51
out> cipher: initializing null cipher
out> cipher: ciphertext:   360f6e4c623558c8b30e84fb51
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 360f6e4c623558c8b30e84fb51
out> cipher: random plaintext length 45
out> 
out> cipher: plaintext:    bfb2f34de31c81705a46f8167a68002e99898d3cf0b595269bdedc9cbc4dea23c0c31fbcba30dd35eb0fe30b63
out> cipher: initializing null cipher
out> cipher: ciphertext:   bfb2f34de31c81705a46f8167a68002e99898d3cf0b595269bdedc9cbc4dea23c0c31fbcba30dd35eb0fe30b63
out> cipher: initializing null cipher
out> cipher: plaintext[2]: bfb2f34de31c81705a46f8167a68002e99898d3cf0b595269bdedc9cbc4dea23c0c31fbcba30dd35eb0fe30b63
out> cipher: random plaintext length 51
out> 
out> cipher: plaintext:    2bb89c62bf6f2f663b0b270e17751333bfd87815a44d36146d280a084cde2d3d6b92190e843b6b1c9072e42c97dd899ba634eb
out> cipher: initializing null cipher
out> cipher: ciphertext:   2bb89c62bf6f2f663b0b270e17751333bfd87815a44d36146d280a084cde2d3d6b92190e843b6b1c9072e42c97dd899ba634eb
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 2bb89c62bf6f2f663b0b270e17751333bfd87815a44d36146d280a084cde2d3d6b92190e843b6b1c9072e42c97dd899ba634eb
out> cipher: random plaintext length 59
out> 
out> cipher: plaintext:    828a1f55cf1601910662838976787a562ba78e4aa14f3ac7944cf0baf3fd59b8f2f0bab33e2c72584c1aa009cb10e172387b37ca8fa905a81f3137
out> cipher: initializing null cipher
out> cipher: ciphertext:   828a1f55cf1601910662838976787a562ba78e4aa14f3ac7944cf0baf3fd59b8f2f0bab33e2c72584c1aa009cb10e172387b37ca8fa905a81f3137
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 828a1f55cf1601910662838976787a562ba78e4aa14f3ac7944cf0baf3fd59b8f2f0bab33e2c72584c1aa009cb10e172387b37ca8fa905a81f3137
out> cipher: random plaintext length 26
out> 
out> cipher: plaintext:    365b9f14edee6f3933199c946fbbef55751261e914e2fe34cc3e
out> cipher: initializing null cipher
out> cipher: ciphertext:   365b9f14edee6f3933199c946fbbef55751261e914e2fe34cc3e
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 365b9f14edee6f3933199c946fbbef55751261e914e2fe34cc3e
out> cipher: random plaintext length 37
out> 
out> cipher: plaintext:    2b26e979969e0ac7b0bd646bc9348c39cce0592638356f06b9d7696f6247a2bd8abaa12f40
out> cipher: initializing null cipher
out> cipher: ciphertext:   2b26e979969e0ac7b0bd646bc9348c39cce0592638356f06b9d7696f6247a2bd8abaa12f40
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 2b26e979969e0ac7b0bd646bc9348c39cce0592638356f06b9d7696f6247a2bd8abaa12f40
out> cipher: random plaintext length 21
out> 
out> cipher: plaintext:    c6dea74cce7a3eeec1d69c09ef910e36e3dbfe6b8e
out> cipher: initializing null cipher
out> cipher: ciphertext:   c6dea74cce7a3eeec1d69c09ef910e36e3dbfe6b8e
out> cipher: initializing null cipher
out> cipher: plaintext[2]: c6dea74cce7a3eeec1d69c09ef910e36e3dbfe6b8e
out> cipher: random plaintext length 16
out> 
out> cipher: plaintext:    1d6f1a078855c04b55874bf01587a668
out> cipher: initializing null cipher
out> cipher: ciphertext:   1d6f1a078855c04b55874bf01587a668
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 1d6f1a078855c04b55874bf01587a668
out> cipher: random plaintext length 45
out> 
out> cipher: plaintext:    71919c042bbecfd6ef4b89f8e9ba2aa4a1ce53d9d5f70dd0615509165a6a024b3b613f7537f53401ad004858ba
out> cipher: initializing null cipher
out> cipher: ciphertext:   71919c042bbecfd6ef4b89f8e9ba2aa4a1ce53d9d5f70dd0615509165a6a024b3b613f7537f53401ad004858ba
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 71919c042bbecfd6ef4b89f8e9ba2aa4a1ce53d9d5f70dd0615509165a6a024b3b613f7537f53401ad004858ba
out> cipher: random plaintext length 19
out> 
out> cipher: plaintext:    d96cde2f40bd7fb0c6d70fa034c6b296139927
out> cipher: initializing null cipher
out> cipher: ciphertext:   d96cde2f40bd7fb0c6d70fa034c6b296139927
out> cipher: initializing null cipher
out> cipher: plaintext[2]: d96cde2f40bd7fb0c6d70fa034c6b296139927
out> cipher: random plaintext length 25
out> 
out> cipher: plaintext:    4b4469f72774fd150a6fc5a5e94fd1775bcfc1e8c0c7bce77f
out> cipher: initializing null cipher
out> cipher: ciphertext:   4b4469f72774fd150a6fc5a5e94fd1775bcfc1e8c0c7bce77f
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 4b4469f72774fd150a6fc5a5e94fd1775bcfc1e8c0c7bce77f
out> cipher: random plaintext length 59
out> 
out> cipher: plaintext:    72aa17acccc6b13fdb6e900504e36210ec2c272a26e330ab069a4afb94e8f4a59d13cb13e35b07ec74e11e071833860ae37598a3eb2d906314aab1
out> cipher: initializing null cipher
out> cipher: ciphertext:   72aa17acccc6b13fdb6e900504e36210ec2c272a26e330ab069a4afb94e8f4a59d13cb13e35b07ec74e11e071833860ae37598a3eb2d906314aab1
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 72aa17acccc6b13fdb6e900504e36210ec2c272a26e330ab069a4afb94e8f4a59d13cb13e35b07ec74e11e071833860ae37598a3eb2d906314aab1
out> cipher: random plaintext length 16
out> 
out> cipher: plaintext:    c45da00b085d0af70c081e19cff6ff18
out> cipher: initializing null cipher
out> cipher: ciphertext:   c45da00b085d0af70c081e19cff6ff18
out> cipher: initializing null cipher
out> cipher: plaintext[2]: c45da00b085d0af70c081e19cff6ff18
out> cipher: random plaintext length 47
out> 
out> cipher: plaintext:    fb7cab49cc5936a9173832495d37a278038e90a7fef0c4a11a0a22d8e728a1da40f7e4e37965768b24a4a7a0804efd
out> cipher: initializing null cipher
out> cipher: ciphertext:   fb7cab49cc5936a9173832495d37a278038e90a7fef0c4a11a0a22d8e728a1da40f7e4e37965768b24a4a7a0804efd
out> cipher: initializing null cipher
out> cipher: plaintext[2]: fb7cab49cc5936a9173832495d37a278038e90a7fef0c4a11a0a22d8e728a1da40f7e4e37965768b24a4a7a0804efd
out> cipher: random plaintext length 27
out> 
out> cipher: plaintext:    97cb50677349574fcf55a4fab1e5fc18dc02c237f9a5317564bb36
out> cipher: initializing null cipher
out> cipher: ciphertext:   97cb50677349574fcf55a4fab1e5fc18dc02c237f9a5317564bb36
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 97cb50677349574fcf55a4fab1e5fc18dc02c237f9a5317564bb36
out> cipher: random plaintext length 40
out> 
out> cipher: plaintext:    daedab1ad364673237e28bc2618c39a14e8385232aab12aa73874856cc4034d860c5fb64f10bfcc4
out> cipher: initializing null cipher
out> cipher: ciphertext:   daedab1ad364673237e28bc2618c39a14e8385232aab12aa73874856cc4034d860c5fb64f10bfcc4
out> cipher: initializing null cipher
out> cipher: plaintext[2]: daedab1ad364673237e28bc2618c39a14e8385232aab12aa73874856cc4034d860c5fb64f10bfcc4
out> cipher: random plaintext length 6
out> 
out> cipher: plaintext:    863ea50d3a7f
out> cipher: initializing null cipher
out> cipher: ciphertext:   863ea50d3a7f
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 863ea50d3a7f
out> cipher: random plaintext length 46
out> 
out> cipher: plaintext:    3006aa07ada94d0adceebbdc7e0c8983f1ccf8da36d40b9d9d0149a40fed112df8909552cf027599435ef8aa03c3
out> cipher: initializing null cipher
out> cipher: ciphertext:   3006aa07ada94d0adceebbdc7e0c8983f1ccf8da36d40b9d9d0149a40fed112df8909552cf027599435ef8aa03c3
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 3006aa07ada94d0adceebbdc7e0c8983f1ccf8da36d40b9d9d0149a40fed112df8909552cf027599435ef8aa03c3
out> cipher: random plaintext length 61
out> 
out> cipher: plaintext:    ae8c8a1db3d5c5d01537208b6ca32f8bebfb96d2cd9dc9c0ee91ec4a764bd9d9b01d3fc1f93ce75cd36c12c3194bff284d3889d30ddeecb7a560a8b0bd
out> cipher: initializing null cipher
out> cipher: ciphertext:   ae8c8a1db3d5c5d01537208b6ca32f8bebfb96d2cd9dc9c0ee91ec4a764bd9d9b01d3fc1f93ce75cd36c12c3194bff284d3889d30ddeecb7a560a8b0bd
out> cipher: initializing null cipher
out> cipher: plaintext[2]: ae8c8a1db3d5c5d01537208b6ca32f8bebfb96d2cd9dc9c0ee91ec4a764bd9d9b01d3fc1f93ce75cd36c12c3194bff284d3889d30ddeecb7a560a8b0bd
out> cipher: random plaintext length 42
out> 
out> cipher: plaintext:    8da7cbbdbd0f795e3ef808e89d6915ff147514792832c8e87151cfc87a5f5542be97e99bd3616c3ca36b
out> cipher: initializing null cipher
out> cipher: ciphertext:   8da7cbbdbd0f795e3ef808e89d6915ff147514792832c8e87151cfc87a5f5542be97e99bd3616c3ca36b
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 8da7cbbdbd0f795e3ef808e89d6915ff147514792832c8e87151cfc87a5f5542be97e99bd3616c3ca36b
out> cipher: random plaintext length 9
out> 
out> cipher: plaintext:    f4a8f115d15416a1ce
out> cipher: initializing null cipher
out> cipher: ciphertext:   f4a8f115d15416a1ce
out> cipher: initializing null cipher
out> cipher: plaintext[2]: f4a8f115d15416a1ce
out> cipher: random plaintext length 60
out> 
out> cipher: plaintext:    b3e2cb1a5871e3ac7472a1fe4e48faffe5f91bc810420bfd37c5fc4ca85e34139793931eb529c08d6bd3f4d4b30662dd93e84248386679d2ab65e7d3
out> cipher: initializing null cipher
out> cipher: ciphertext:   b3e2cb1a5871e3ac7472a1fe4e48faffe5f91bc810420bfd37c5fc4ca85e34139793931eb529c08d6bd3f4d4b30662dd93e84248386679d2ab65e7d3
out> cipher: initializing null cipher
out> cipher: plaintext[2]: b3e2cb1a5871e3ac7472a1fe4e48faffe5f91bc810420bfd37c5fc4ca85e34139793931eb529c08d6bd3f4d4b30662dd93e84248386679d2ab65e7d3
out> cipher: random plaintext length 5
out> 
out> cipher: plaintext:    b8a6f755fb
out> cipher: initializing null cipher
out> cipher: ciphertext:   b8a6f755fb
out> cipher: initializing null cipher
out> cipher: plaintext[2]: b8a6f755fb
out> cipher: random plaintext length 35
out> 
out> cipher: plaintext:    9b991973e301a4c776bdf0c19a6d475a1d660c4bba6be851940b1b21df96f4e89ebd5c
out> cipher: initializing null cipher
out> cipher: ciphertext:   9b991973e301a4c776bdf0c19a6d475a1d660c4bba6be851940b1b21df96f4e89ebd5c
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 9b991973e301a4c776bdf0c19a6d475a1d660c4bba6be851940b1b21df96f4e89ebd5c
out> cipher: random plaintext length 62
out> 
out> cipher: plaintext:    4cfc6c227306038e071a0a62f20df66cb912b2f3fb15f4a017b6ab0aebe594dcb716eca51f21403c4fba60ce39887286fae322d75a2ff76972d0c19d68c8
out> cipher: initializing null cipher
out> cipher: ciphertext:   4cfc6c227306038e071a0a62f20df66cb912b2f3fb15f4a017b6ab0aebe594dcb716eca51f21403c4fba60ce39887286fae322d75a2ff76972d0c19d68c8
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 4cfc6c227306038e071a0a62f20df66cb912b2f3fb15f4a017b6ab0aebe594dcb716eca51f21403c4fba60ce39887286fae322d75a2ff76972d0c19d68c8
out> cipher: random plaintext length 6
out> 
out> cipher: plaintext:    e1c44edfb8a6
out> cipher: initializing null cipher
out> cipher: ciphertext:   e1c44edfb8a6
out> cipher: initializing null cipher
out> cipher: plaintext[2]: e1c44edfb8a6
out> cipher: random plaintext length 6
out> 
out> cipher: plaintext:    c1e79b13a1eb
out> cipher: initializing null cipher
out> cipher: ciphertext:   c1e79b13a1eb
out> cipher: initializing null cipher
out> cipher: plaintext[2]: c1e79b13a1eb
out> cipher: random plaintext length 62
out> 
out> cipher: plaintext:    ddf7e86213912906318abe4f01d8a66518c17550158822fb76456b5b16cee5a947d1a4cb880482d1e373109ae6f817973bc9c9a7e62b89221b4554f2ba0f
out> cipher: initializing null cipher
out> cipher: ciphertext:   ddf7e86213912906318abe4f01d8a66518c17550158822fb76456b5b16cee5a947d1a4cb880482d1e373109ae6f817973bc9c9a7e62b89221b4554f2ba0f
out> cipher: initializing null cipher
out> cipher: plaintext[2]: ddf7e86213912906318abe4f01d8a66518c17550158822fb76456b5b16cee5a947d1a4cb880482d1e373109ae6f817973bc9c9a7e62b89221b4554f2ba0f
out> cipher: random plaintext length 40
out> 
out> cipher: plaintext:    2123e29a7f0d58b31f1557790c185d1c8f0072a615fedec02e65fa1eb2262488fee4cc865cb3aba8
out> cipher: initializing null cipher
out> cipher: ciphertext:   2123e29a7f0d58b31f1557790c185d1c8f0072a615fedec02e65fa1eb2262488fee4cc865cb3aba8
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 2123e29a7f0d58b31f1557790c185d1c8f0072a615fedec02e65fa1eb2262488fee4cc865cb3aba8
out> cipher: random plaintext length 6
out> 
out> cipher: plaintext:    18cdd24af55b
out> cipher: initializing null cipher
out> cipher: ciphertext:   18cdd24af55b
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 18cdd24af55b
out> cipher: random plaintext length 58
out> 
out> cipher: plaintext:    e72856de3bf2ecf55c117225008bea7831b0b9c6b6ccdeff90863f17a0d91f8e66acad9be40fb6f4a114793dc9489b0b71cd3193f915fbf38a3d
out> cipher: initializing null cipher
out> cipher: ciphertext:   e72856de3bf2ecf55c117225008bea7831b0b9c6b6ccdeff90863f17a0d91f8e66acad9be40fb6f4a114793dc9489b0b71cd3193f915fbf38a3d
out> cipher: initializing null cipher
out> cipher: plaintext[2]: e72856de3bf2ecf55c117225008bea7831b0b9c6b6ccdeff90863f17a0d91f8e66acad9be40fb6f4a114793dc9489b0b71cd3193f915fbf38a3d
out> cipher: random plaintext length 27
out> 
out> cipher: plaintext:    455a1fd5745ccc17acddc2336b1eb11c8ab8b65647d9720ceeacc7
out> cipher: initializing null cipher
out> cipher: ciphertext:   455a1fd5745ccc17acddc2336b1eb11c8ab8b65647d9720ceeacc7
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 455a1fd5745ccc17acddc2336b1eb11c8ab8b65647d9720ceeacc7
out> cipher: random plaintext length 6
out> 
out> cipher: plaintext:    12c018cc57c5
out> cipher: initializing null cipher
out> cipher: ciphertext:   12c018cc57c5
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 12c018cc57c5
out> cipher: random plaintext length 14
out> 
out> cipher: plaintext:    2559acf2baca91c8bbef594bef52
out> cipher: initializing null cipher
out> cipher: ciphertext:   2559acf2baca91c8bbef594bef52
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 2559acf2baca91c8bbef594bef52
out> cipher: random plaintext length 18
out> 
out> cipher: plaintext:    47485e674a53ea0664b7a6f5c2d4e5875619
out> cipher: initializing null cipher
out> cipher: ciphertext:   47485e674a53ea0664b7a6f5c2d4e5875619
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 47485e674a53ea0664b7a6f5c2d4e5875619
out> cipher: random plaintext length 63
out> 
out> cipher: plaintext:    46fb3bd9db45817bbf96ea1ec2bbc504ee28a79ae8b19cc670e378d303fd4bf7a08ef27da7acca93dcce80b28b4704a5c6609c39ca101580805a14c11f438a
out> cipher: initializing null cipher
out> cipher: ciphertext:   46fb3bd9db45817bbf96ea1ec2bbc504ee28a79ae8b19cc670e378d303fd4bf7a08ef27da7acca93dcce80b28b4704a5c6609c39ca101580805a14c11f438a
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 46fb3bd9db45817bbf96ea1ec2bbc504ee28a79ae8b19cc670e378d303fd4bf7a08ef27da7acca93dcce80b28b4704a5c6609c39ca101580805a14c11f438a
out> cipher: random plaintext length 22
out> 
out> cipher: plaintext:    f96ad050d7cb1865b6991f844bb4b920c4e53e1b2992
out> cipher: initializing null cipher
out> cipher: ciphertext:   f96ad050d7cb1865b6991f844bb4b920c4e53e1b2992
out> cipher: initializing null cipher
out> cipher: plaintext[2]: f96ad050d7cb1865b6991f844bb4b920c4e53e1b2992
out> cipher: random plaintext length 52
out> 
out> cipher: plaintext:    a128614d2d9bd71710f61f13c5312f2487063addbc163275ff29ddd7c89393d6bab1917e8993fd8686b477e1c9e45873fa478ae1
out> cipher: initializing null cipher
out> cipher: ciphertext:   a128614d2d9bd71710f61f13c5312f2487063addbc163275ff29ddd7c89393d6bab1917e8993fd8686b477e1c9e45873fa478ae1
out> cipher: initializing null cipher
out> cipher: plaintext[2]: a128614d2d9bd71710f61f13c5312f2487063addbc163275ff29ddd7c89393d6bab1917e8993fd8686b477e1c9e45873fa478ae1
out> cipher: random plaintext length 22
out> 
out> cipher: plaintext:    371c65ff016555bdd4ec0cba8a5109a25b06a62ca0eb
out> cipher: initializing null cipher
out> cipher: ciphertext:   371c65ff016555bdd4ec0cba8a5109a25b06a62ca0eb
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 371c65ff016555bdd4ec0cba8a5109a25b06a62ca0eb
out> cipher: random plaintext length 60
out> 
out> cipher: plaintext:    82913028aa376e664ffacfb4db5798a275b87c0a4cf2fa5d83e85217b94d25543486a87da9ad841baab24eccac9c9e52b4edcec99e2451f10a5cada9
out> cipher: initializing null cipher
out> cipher: ciphertext:   82913028aa376e664ffacfb4db5798a275b87c0a4cf2fa5d83e85217b94d25543486a87da9ad841baab24eccac9c9e52b4edcec99e2451f10a5cada9
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 82913028aa376e664ffacfb4db5798a275b87c0a4cf2fa5d83e85217b94d25543486a87da9ad841baab24eccac9c9e52b4edcec99e2451f10a5cada9
out> cipher: random plaintext length 41
out> 
out> cipher: plaintext:    c63fcd092b93a58607004ca9352ac20d59a75d4e3ec2fa505fcc4e2981195aac7d9efd931c25a3481a
out> cipher: initializing null cipher
out> cipher: ciphertext:   c63fcd092b93a58607004ca9352ac20d59a75d4e3ec2fa505fcc4e2981195aac7d9efd931c25a3481a
out> cipher: initializing null cipher
out> cipher: plaintext[2]: c63fcd092b93a58607004ca9352ac20d59a75d4e3ec2fa505fcc4e2981195aac7d9efd931c25a3481a
out> cipher: random plaintext length 55
out> 
out> cipher: plaintext:    7152b7fad557b048b4780e983020c59b705dc6f41968c5d7dbd2153d274dafc1ff15511be5f9c336f50a35ef0fdec46c2c811b17d2fa36
out> cipher: initializing null cipher
out> cipher: ciphertext:   7152b7fad557b048b4780e983020c59b705dc6f41968c5d7dbd2153d274dafc1ff15511be5f9c336f50a35ef0fdec46c2c811b17d2fa36
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 7152b7fad557b048b4780e983020c59b705dc6f41968c5d7dbd2153d274dafc1ff15511be5f9c336f50a35ef0fdec46c2c811b17d2fa36
out> cipher: random plaintext length 30
out> 
out> cipher: plaintext:    03c7bbcd8ef67da264d463a4efd7513d592541bac8decc9ea803c9a32001
out> cipher: initializing null cipher
out> cipher: ciphertext:   03c7bbcd8ef67da264d463a4efd7513d592541bac8decc9ea803c9a32001
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 03c7bbcd8ef67da264d463a4efd7513d592541bac8decc9ea803c9a32001
out> cipher: random plaintext length 27
out> 
out> cipher: plaintext:    cd62eddbb08380106ab989d04ed0a995c8869ca912c2889d90e4e4
out> cipher: initializing null cipher
out> cipher: ciphertext:   cd62eddbb08380106ab989d04ed0a995c8869ca912c2889d90e4e4
out> cipher: initializing null cipher
out> cipher: plaintext[2]: cd62eddbb08380106ab989d04ed0a995c8869ca912c2889d90e4e4
out> cipher: random plaintext length 16
out> 
out> cipher: plaintext:    b65ea441c2e2c040c3b224f6b36931e2
out> cipher: initializing null cipher
out> cipher: ciphertext:   b65ea441c2e2c040c3b224f6b36931e2
out> cipher: initializing null cipher
out> cipher: plaintext[2]: b65ea441c2e2c040c3b224f6b36931e2
out> cipher: random plaintext length 59
out> 
out> cipher: plaintext:    a1460be3796838f1a53a05511ba70fe40b8375d870bdb7e2c821b91be0c8e774c91d73d7e78cbadc27c8c52550b9ec57730194b57d2a185aeb6ec5
out> cipher: initializing null cipher
out> cipher: ciphertext:   a1460be3796838f1a53a05511ba70fe40b8375d870bdb7e2c821b91be0c8e774c91d73d7e78cbadc27c8c52550b9ec57730194b57d2a185aeb6ec5
out> cipher: initializing null cipher
out> cipher: plaintext[2]: a1460be3796838f1a53a05511ba70fe40b8375d870bdb7e2c821b91be0c8e774c91d73d7e78cbadc27c8c52550b9ec57730194b57d2a185aeb6ec5
out> cipher: random plaintext length 60
out> 
out> cipher: plaintext:    8a482ba838362594f3fdfc06ebd8350058a45276ef6c95ea7091e3a65c92c396c57e85bf3df37f60f0d173a3ce810c00e0db872fbcb96fc714168078
out> cipher: initializing null cipher
out> cipher: ciphertext:   8a482ba838362594f3fdfc06ebd8350058a45276ef6c95ea7091e3a65c92c396c57e85bf3df37f60f0d173a3ce810c00e0db872fbcb96fc714168078
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 8a482ba838362594f3fdfc06ebd8350058a45276ef6c95ea7091e3a65c92c396c57e85bf3df37f60f0d173a3ce810c00e0db872fbcb96fc714168078
out> cipher: random plaintext length 48
out> 
out> cipher: plaintext:    9b3ba2b01459aca5a067830a34f1c215c01f3d411457fec870ffdb2da660b1f5eea63f754603a1c784f466d6fa9c5199
out> cipher: initializing null cipher
out> cipher: ciphertext:   9b3ba2b01459aca5a067830a34f1c215c01f3d411457fec870ffdb2da660b1f5eea63f754603a1c784f466d6fa9c5199
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 9b3ba2b01459aca5a067830a34f1c215c01f3d411457fec870ffdb2da660b1f5eea63f754603a1c784f466d6fa9c5199
out> cipher: random plaintext length 41
out> 
out> cipher: plaintext:    397ba4eee2a9dd65c7cc607c3c71342e27f662b32706e585d2b1be0e162423f3c009d7f71b7e958db1
out> cipher: initializing null cipher
out> cipher: ciphertext:   397ba4eee2a9dd65c7cc607c3c71342e27f662b32706e585d2b1be0e162423f3c009d7f71b7e958db1
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 397ba4eee2a9dd65c7cc607c3c71342e27f662b32706e585d2b1be0e162423f3c009d7f71b7e958db1
out> cipher: random plaintext length 54
out> 
out> cipher: plaintext:    9914e295d2dfbfa40ea6f69dab0ab68e3d0e3c95be5b4d3ae32edf6989dfd80a4e0fee3f3d6cad39a12397b7fae4651d0e8b6c2d1670
out> cipher: initializing null cipher
out> cipher: ciphertext:   9914e295d2dfbfa40ea6f69dab0ab68e3d0e3c95be5b4d3ae32edf6989dfd80a4e0fee3f3d6cad39a12397b7fae4651d0e8b6c2d1670
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 9914e295d2dfbfa40ea6f69dab0ab68e3d0e3c95be5b4d3ae32edf6989dfd80a4e0fee3f3d6cad39a12397b7fae4651d0e8b6c2d1670
out> cipher: random plaintext length 61
out> 
out> cipher: plaintext:    d7eb52bb5a437c53338d3088afd6651f229efc8557c8cd10b1aa4d5ee245d9da478ea15ddfeb33f0e7b9a3b0130a55ca6a6c67a6bee4bd21c7faaaf2dc
out> cipher: initializing null cipher
out> cipher: ciphertext:   d7eb52bb5a437c53338d3088afd6651f229efc8557c8cd10b1aa4d5ee245d9da478ea15ddfeb33f0e7b9a3b0130a55ca6a6c67a6bee4bd21c7faaaf2dc
out> cipher: initializing null cipher
out> cipher: plaintext[2]: d7eb52bb5a437c53338d3088afd6651f229efc8557c8cd10b1aa4d5ee245d9da478ea15ddfeb33f0e7b9a3b0130a55ca6a6c67a6bee4bd21c7faaaf2dc
out> cipher: random plaintext length 63
out> 
out> cipher: plaintext:    074c67903341a2d43c9a0ebd0efe915e55d74e7be5752779cb52d274ee70966f60dfa3a6475b0c00621162a13a82ee9be8818ac47d561ca21105b0836ba931
out> cipher: initializing null cipher
out> cipher: ciphertext:   074c67903341a2d43c9a0ebd0efe915e55d74e7be5752779cb52d274ee70966f60dfa3a6475b0c00621162a13a82ee9be8818ac47d561ca21105b0836ba931
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 074c67903341a2d43c9a0ebd0efe915e55d74e7be5752779cb52d274ee70966f60dfa3a6475b0c00621162a13a82ee9be8818ac47d561ca21105b0836ba931
out> cipher: random plaintext length 13
out> 
out> cipher: plaintext:    9f540662060860d997aa492aaf
out> cipher: initializing null cipher
out> cipher: ciphertext:   9f540662060860d997aa492aaf
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 9f540662060860d997aa492aaf
out> cipher: random plaintext length 7
out> 
out> cipher: plaintext:    073375c147e546
out> cipher: initializing null cipher
out> cipher: ciphertext:   073375c147e546
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 073375c147e546
out> cipher: random plaintext length 55
out> 
out> cipher: plaintext:    0b987590111d576732b38f53471c29d88a494f6d34e57059b70b0db795192098db9c29473e6ad6a7d0cf4eb95fdf1a3a6bebb069c10e9e
out> cipher: initializing null cipher
out> cipher: ciphertext:   0b987590111d576732b38f53471c29d88a494f6d34e57059b70b0db795192098db9c29473e6ad6a7d0cf4eb95fdf1a3a6bebb069c10e9e
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 0b987590111d576732b38f53471c29d88a494f6d34e57059b70b0db795192098db9c29473e6ad6a7d0cf4eb95fdf1a3a6bebb069c10e9e
out> cipher: random plaintext length 5
out> 
out> cipher: plaintext:    db12a512e9
out> cipher: initializing null cipher
out> cipher: ciphertext:   db12a512e9
out> cipher: initializing null cipher
out> cipher: plaintext[2]: db12a512e9
out> cipher: random plaintext length 41
out> 
out> cipher: plaintext:    c70540c6de916c3fd8074425bd36dfa1087897692e79a24fcf154ff37860df9913bffe15ec33dce360
out> cipher: initializing null cipher
out> cipher: ciphertext:   c70540c6de916c3fd8074425bd36dfa1087897692e79a24fcf154ff37860df9913bffe15ec33dce360
out> cipher: initializing null cipher
out> cipher: plaintext[2]: c70540c6de916c3fd8074425bd36dfa1087897692e79a24fcf154ff37860df9913bffe15ec33dce360
out> cipher: random plaintext length 40
out> 
out> cipher: plaintext:    09877b5b34cdb08aedf0447cac93af97ef5bc42b14be2488d6f34349660914b425145439fc827018
out> cipher: initializing null cipher
out> cipher: ciphertext:   09877b5b34cdb08aedf0447cac93af97ef5bc42b14be2488d6f34349660914b425145439fc827018
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 09877b5b34cdb08aedf0447cac93af97ef5bc42b14be2488d6f34349660914b425145439fc827018
out> cipher: random plaintext length 30
out> 
out> cipher: plaintext:    0019371471549796f6c4ff22b63f2f03cde3dae75bb8119fb902c174c726
out> cipher: initializing null cipher
out> cipher: ciphertext:   0019371471549796f6c4ff22b63f2f03cde3dae75bb8119fb902c174c726
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 0019371471549796f6c4ff22b63f2f03cde3dae75bb8119fb902c174c726
out> cipher: random plaintext length 47
out> 
out> cipher: plaintext:    06c569b8f5d53ae0216eb36aa7ed6100e0ce88f27cc6c79a37ef6ae03b1e4cda1250678b4643facc98225549d95844
out> cipher: initializing null cipher
out> cipher: ciphertext:   06c569b8f5d53ae0216eb36aa7ed6100e0ce88f27cc6c79a37ef6ae03b1e4cda1250678b4643facc98225549d95844
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 06c569b8f5d53ae0216eb36aa7ed6100e0ce88f27cc6c79a37ef6ae03b1e4cda1250678b4643facc98225549d95844
out> cipher: random plaintext length 8
out> 
out> cipher: plaintext:    ca22ed9c3f34be1a
out> cipher: initializing null cipher
out> cipher: ciphertext:   ca22ed9c3f34be1a
out> cipher: initializing null cipher
out> cipher: plaintext[2]: ca22ed9c3f34be1a
out> cipher: random plaintext length 63
out> 
out> cipher: plaintext:    ccefb69fc06b266a216a3792e0bb7d51ac523183c7a8511df6d0e54e92185d30bc58172baedafce72ce54aeb18e86cd72540053aa4a60b117a3810dd33229d
out> cipher: initializing null cipher
out> cipher: ciphertext:   ccefb69fc06b266a216a3792e0bb7d51ac523183c7a8511df6d0e54e92185d30bc58172baedafce72ce54aeb18e86cd72540053aa4a60b117a3810dd33229d
out> cipher: initializing null cipher
out> cipher: plaintext[2]: ccefb69fc06b266a216a3792e0bb7d51ac523183c7a8511df6d0e54e92185d30bc58172baedafce72ce54aeb18e86cd72540053aa4a60b117a3810dd33229d
out> cipher: random plaintext length 9
out> 
out> cipher: plaintext:    ac55468bbf39308170
out> cipher: initializing null cipher
out> cipher: ciphertext:   ac55468bbf39308170
out> cipher: initializing null cipher
out> cipher: plaintext[2]: ac55468bbf39308170
out> cipher: random plaintext length 37
out> 
out> cipher: plaintext:    59641212cf607380df87aed9dc6dcdfc84bccfe65ef0dcfd3cab92f9e0b57d6fbb94a6fcd0
out> cipher: initializing null cipher
out> cipher: ciphertext:   59641212cf607380df87aed9dc6dcdfc84bccfe65ef0dcfd3cab92f9e0b57d6fbb94a6fcd0
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 59641212cf607380df87aed9dc6dcdfc84bccfe65ef0dcfd3cab92f9e0b57d6fbb94a6fcd0
out> cipher: random plaintext length 1
out> 
out> cipher: plaintext:    59
out> cipher: initializing null cipher
out> cipher: ciphertext:   59
out> cipher: initializing null cipher
out> cipher: plaintext[2]: 59
out> cipher: running self-test for cipher aes integer counter mode
out> cipher: testing encryption
out> cipher: plaintext:    0000000000000000000000000000000000000000000000000000000000000000
out> cipher: ciphertext:   db747ba71c58b6446ee6d69f32275ea7bd1f357413ce7ff985a57797533d5c0e
out> cipher: test case 0 failed
out> cipher: (failure at byte 0)
[New Thread 26562]
out> cipher: c computed: db747ba71c58b6446ee6d69f32275ea7bd1f357413ce7ff985a57797533d5c0e0c000000d0dafce72ce54aeb18e86cd72540053aa4a60b117a3810dd33229d00
out> cipher: c expected: 92bdd28a93c3f52511c677d08b5515a49da71b2378a854f67050756ded165bac2e0000007024a60078e8b1002000000088e8b10020000000a024a6005024a600
Comment 5 User image Dan Mosedale (:dmose) 2012-12-15 14:55:44 PST
Created attachment 692660 [details] [diff] [review]
patch to turn on SRTP crypto debug logging on stdout
Comment 6 User image Dan Mosedale (:dmose) 2012-12-15 15:41:31 PST
Turning on the aes_icm-specific logging gets us slightly more detailed logs:

out> cipher: running self-test for cipher aes integer counter mode
out> aes icm: allocating cipher with key length 46
out> cipher: testing encryption
out> aes icm: key:  57f82fe3613fd170a85ec93c40b1f0922ec4cb0dc025b58272147cc438944a98
out> aes icm: offset: f0f1f2f3f4f5f6f7f8f9fafbfcfd0000
out> cipher: plaintext:    0000000000000000000000000000000000000000000000000000000000000000
out> aes icm: setting iv: 00000000000000000000000000000000
out> aes icm: set_counter: f0f1f2f3f4f5f6f7f8f9fafbfcfd0000
out> aes icm: block index: 0
out> aes icm: counter:    f0f1f2f3f4f5f6f7f8f9fafbfcfd0000
out> aes icm: ciphertext: db747ba71c58b6446ee6d69f32275ea7
out> aes icm: counter:    f0f1f2f3f4f5f6f7f8f9fafbfcfd0001
out> aes icm: ciphertext: bd1f357413ce7ff985a57797533d5c0e
out> cipher: ciphertext:   db747ba71c58b6446ee6d69f32275ea7bd1f357413ce7ff985a57797533d5c0e
out> cipher: test case 0 failed
out> cipher: (failure at byte 0)
out> cipher: c computed: db747ba71c58b6446ee6d69f32275ea7bd1f357413ce7ff985a57797533d5c0e0c000000306f8bcd80fe11844e0cd8eb9e862e1f5976157655eb936ecbd4c200
out> cipher: c expected: 92bdd28a93c3f52511c677d08b5515a49da71b2378a854f67050756ded165bac2e0000007024a60078e8b1002000000088e8b10020000000a024a6005024a600
Comment 7 User image Dan Mosedale (:dmose) 2012-12-15 15:54:16 PST
Our Makefile.in (quite reasonably, I think!) define CPU_RISC on ARM chips.  Unfortunately, the bug would seem to be in the CPU_RISC guarded-code, because setting CPU_CISC instead makes the self-tests pass.

In the interests of avoiding premature optimization, I propose to set CPU_CISC for now, and file a performance bug for later to find and fix the CPU_RISC problem and flip the define to what it should actually be.
Comment 8 User image Dan Mosedale (:dmose) 2012-12-15 16:09:45 PST
Created attachment 692670 [details] [diff] [review]
switch ARM builds to use CPU_CISC, since that code works
Comment 9 User image Timothy B. Terriberry (:derf) 2012-12-15 20:22:34 PST
(In reply to Dan Mosedale (:dmose) from comment #2)
> An interesting wrinkle is that ARM is said to be "bi-endian".

While technically this is configurable, I don't think we run on any big-endian ARM devices. If we did, we would already fail at compile time: <http://mxr.mozilla.org/mozilla-central/source/media/libtheora/lib/arm/armint.h#23>.
Comment 10 User image Randell Jesup [:jesup] 2012-12-15 23:35:30 PST
Comment on attachment 692670 [details] [diff] [review]
switch ARM builds to use CPU_CISC, since that code works

Review of attachment 692670 [details] [diff] [review]:
-----------------------------------------------------------------

Please open a bug to fix the problem (or get it fixed on upstream and import the fix), and included that bug # in the comment block
Comment 11 User image Dan Mosedale (:dmose) 2012-12-17 11:09:52 PST
Created attachment 693028 [details] [diff] [review]
switch to use CPU_CISC, v2

Bug 822380 filed; here's an updated patch with a comment block linking to that back.  Carrying forward r=jesup.
Comment 12 User image Dan Mosedale (:dmose) 2012-12-17 12:16:17 PST
Pushed to mozilla-inbound:

https://hg.mozilla.org/integration/mozilla-inbound/rev/9c21138d9e9a
Comment 13 User image Dan Mosedale (:dmose) 2012-12-17 12:19:44 PST
Set in-testsuite?

While this was sort of caught but the signaling and crypto run-time self tests, and bunch of debugging was required to figure out what was going on.  That said, the test-suite that comes with the SRTP crypto code will presumably pinpoint any regression here relatively clearly, once that suite gets hooked up to our automation.
Comment 14 User image Ed Morley [:emorley] 2012-12-18 01:44:34 PST
https://hg.mozilla.org/mozilla-central/rev/9c21138d9e9a

Note You need to log in before you can comment on or make changes to this bug.