agn@UNH.CS.CMU.EDU (Andreas Nowatzyk) (04/14/88)
I posted a high quality pseudo-random number generator to comp.sources.misc
(xrand), that was written for and is being used in a serious research project.
Subsequently, a fair ammount of work went into it. As was pointed out
earlier in this newsgroup, a good RNG also makes a good encryption
program. A simple encryption program was posted along with (xrand) that is
losely based on M.Mauldin's idea of using RNGs to produce one-time pads.
If xrand has a flaw, then xcrypt should be breakable. Since I want to know
about flaws of xrand, I submit this challenge to xcrypt: $50 and eternal
fame :-) will go to the first person to send me a plain-text/key pair that
will produce the cipher-text given below. The plain text must agree with
the clues given below, that hold true for the original plain text.
Naturally, I'll appreciate any comments you might have on xrand.
Cheers -- Andreas agn@unh.cs.cmu.edu
(412) 268-3617
PS: Hint to local readers: neither the plain-text, nor the key are
online on any system at CMU.
Clue #1: The character counts of the plain-text are given below. This clue
should be useless if my pseudo-random number generator is any good.
0x09 = 18 0x0a = 55 0x20 ' ' = 476 0x21 '!' = 4 0x24 '$' = 1
0x27 ''' = 10 0x28 '(' = 3 0x29 ')' = 3 0x2c ',' = 24 0x2d '-' = 90
0x2e '.' = 22 0x2f '/' = 1 0x30 '0' = 3 0x31 '1' = 11 0x32 '2' = 3
0x33 '3' = 3 0x34 '4' = 1 0x35 '5' = 2 0x36 '6' = 5 0x37 '7' = 1
0x38 '8' = 4 0x39 '9' = 3 0x3a ':' = 6 0x3b ';' = 1 0x3f '?' = 1
0x40 '@' = 1 0x41 'A' = 6 0x43 'C' = 6 0x44 'D' = 2 0x45 'E' = 3
0x46 'F' = 1 0x47 'G' = 1 0x49 'I' = 15 0x4a 'J' = 4 0x4b 'K' = 1
0x4c 'L' = 3 0x4d 'M' = 3 0x4e 'N' = 3 0x50 'P' = 8 0x52 'R' = 2
0x53 'S' = 5 0x54 'T' = 6 0x55 'U' = 1 0x57 'W' = 3 0x5a 'Z' = 1
0x61 'a' = 113 0x62 'b' = 14 0x63 'c' = 51 0x64 'd' = 39 0x65 'e' = 159
0x66 'f' = 23 0x67 'g' = 27 0x68 'h' = 72 0x69 'i' = 92 0x6a 'j' = 1
0x6b 'k' = 10 0x6c 'l' = 64 0x6d 'm' = 37 0x6e 'n' = 117 0x6f 'o' = 125
0x70 'p' = 31 0x71 'q' = 2 0x72 'r' = 98 0x73 's' = 101 0x74 't' = 136
0x75 'u' = 46 0x76 'v' = 16 0x77 'w' = 28 0x78 'x' = 3 0x79 'y' = 39
0x7a 'z' = 3
Clue #2: The Plain-text starts with:
"The quick brown fox jumps over the lazy dog."
Clue #3: The key fits on one line (it is nowhere near the size of the
message).
The uuencode-ed version of the cipher-text (2277 bytes, binary) follows:
--------------------------------------------------------------------------------
begin 600 cipher.txt
MB$Y@(@G,9ZE#YN?EQW,,W&8QEC3W)*5*_I%9&0X>$%:Q)?(P:6V5XG]%0JE"
M\8]X?U 7DB:Z!5DF$+M? ""K]"0N!JA4BM,(*O,!N/CIKCVX)V0'L%+&<US,
MU8PH)N0K&4)W5QT1W3U8BF3X8T5O]M:_3$X+HX[SB5VCW"5YQM%G_U*RI[7Q
M;8AGH;M]F^US4;',A;5(\'L@Z14+G!5@-3JM+M'9,H]U]@"M+L^\<8'^*J63
M) %!&X=JDHN"#[GK:J:.A+^8G-?RG2L)1NGZ0PMD&Y-X1&?"O!!\N*U(285[
M788SO?P"KM)9$8PQ<.TGI2#^.KQ D?Y.8%CW!!W<S4FOFY6OU.H/P^I4TSE\
M: &"Y;D)F<_9#OBY55"V1->U3!C"Q/H24M;9.;)@1U>&*D%3:/S+#GM_<48C
MD&'V\OP7!CW,7=G)[_M7ZNW;%4!VL=^4/YANR? 4T'#M!GD6*:JO244XR_+1
M$V(#-.9'\K*CC6252=T%(2P:E$[2_YD4[<P-.>>>"T([#$[;I 0^/5/-MX;O
M2S<:T!)R[,DNM J8Z<]MN'JK11:"^B(C/%TSGV-?]AD7,MK-X-'T% ?W M1L
M^Z.J,[9A(>BKZ/I$"UDO*3*2,>P\^)USVU'T@TGGE^:EV*1J2I$^D?H6U\R
MAX;Y*8,J*CE=VO5S(-Y'E%;: ITU]0IJ-<#G.95L!6[\JNP%I')S!A@EDDX+
M"=XS8AMJW=O$=!>&'_ >1SU%?H)*==H>^[.Y,GV9ED=X?R &@^!"^/;N*(FE
M_"LA]QH)\[BVH""E^82X>C7%B<6.0!-1PF(QQU39O+)L;)>_TW!45 1YK?@B
MH,P=UVN2K#3TYSWQ-NE\TEXD/S9W2@(K!JB08?>U\!/=@\?JSJU8-LBW/YYM
M12:89R%$^@@TL:MHK;]F3(1:&7H+5!"VXFT-!ZN;I-8CF;JQ]J\J>/EK1,G;
M\E47K$VPB'&S^!>C);J,YI?W669;]D?CM,2^AGKVC5"_.A-@.UN(I;3#@-LD
MD2=C!$JYP;QN681J\#SV"E;KTP\AS.C*L8@AZI1L9MI1.W_!+0C%"JPFO>U@
MT,@]\)U".-LS7/2B8F4@O3T?%QT!G&&I*IZCN/V?/AKZ1FN2+]3&_/27GRN!
M&0SVL.J(/-9#3=GE_*)'8;N)M4KC@/ZR6[0[9_TX61V-T[^ME"CTV<SEUVG,
M0[$:@OZA>V-*QU&SUU&Q&FM<*4>?D#U])6_:B\> 'J[ S*'LXZP78M8C/1$6
M>DP]8S^;UYNM;4],IJ'TI*8E+>H7JO@X)G9LP43.=?F;0!Y!]6+[#N#Y"Y13
MG;Y>E VF6ZX)>,*T9@-ZRP\9NJZ02;&8?42I-:%5;Y+"4.BZ@4J?+W'>S!T;
MS+IH_%I":VL%C7GD_3\W>X'1*YF<26&YAQ3>'G^CK^.!\/&NW#=_0&,4S2%(
M&:-JK27 4ZC M$<Y([2SI\.-[Q6>Y[F0T;&,Q!%\\[WH2[E.0V*6=5_JV/5?
MBO/YAH@"5M9:(0'H""@_>?&KY[FQO<CU9?&9!WUS9)$37NZA62]7%:K?B]BG
M+4^%LV(J2(G[=6GZ6HWFD+6(X=E'/CA]?J/31!3=M/1AK15CN-!M;874Y=/#
M>W!Z,XEG>_XEA$.[H,4I^$:8XT9G(C)_"?13@7^<L;G4MCV0<2O>)K#"=.W?
ML[[0FI#K"L@>,]*=*'P[NF %D<L"R+_ F68D9AO>6O(QKF\(5$@W>H;<UH>U
MO1=A] WKN;O$F/:!TF:2=3L2BOS%X_9>.O9"Y0CG8/B] ]'Q5XLH0/HRA@!
M?'.6L%)X1S)/N8 NA&=^N'#>^Y !1W49.8*,0NO\R UP2OU!8U^7CT #1IXK
MZDF6 @EHKZO_$$90X'N;YAY(:RZHJ]])CF(/:A$A1TQ]EAW-9OJOSPA7,4E9
MT?,+?G+E$420&TQ=EUFS@*E6D"PWHB0?_Q.0EQ;A<M1&+!1]&XAP!:!S7.D/
M%!T9J\ 0F?TOV9!;^R)&Z+%/+C26\:Z:ZQ(\BEKH\SO-ZLEMI]?HTM<4-^.#
MM;Y367#P4.EY96#J9U?J?/<DI_U-E?"SJ#:<Z_C4I2O]D,GA8 6%),LZ0>F3
MEPSZB3V;)J.6&HB*KNOVXXJ*0(6)OF7)CPI"P_,%7P(M3\9HXR90QP4Z&5#Z
M1'-0>WM9?.;*]4;QZ]2UG3R=8;#F:C*%\'@ZJ42G+]465F@.U[/QDL0VT@9A
M6_E8,T/L,#%EL$PM<A+2(#_87V6NJC8N]?R2%*&=$T<8KTQ%QN%X!AX%9=HD
M?O3?:);M>AZ .!*:4DGD"@&2QPS*#4 VW9IVQH[]^0K=/2$'ET@[_Z/[[@"W
M6)1KOG%>3%2<J8=(U)#C!0L)2*KYW$RBY"?!&:DS\_RFU>QR.BUQ+[L7'!0R
M-EJ%$> 64F#Y<4G$6K?*GQVM<CE$7[Q$N%S9\;8Q'KIHLBD9='CFABEIRJBV
M"%)P!$;L-O2\TW_K:CH'^_6G;S=-T[((_!3>RU (;LHT2+\]2R)472)1W>03
M/1#5V>1YCI8HR18:Y D@/%3CXS0=IB/D-8SZ,U-:%P"B:JA:_,IQ&\EHN2E1
M\=LRH@H'FHJ%RMP%C+%>[@.X+,4@KI_,>2ZE'<#-<\6NRV]X@YWX1JL="!>:
M&'P:R<$0'<_SX$BR.UA$4Q:["F)ZKKB$D/!I-NQ*H9 ' \H[T! I!&BVO-(:
MF>K7O5T2QJ:+P!O@C4BD (<>?QG/Y$ E*$VOE4515XI8^65T,_-ZV$\P$(=$
M)+ZJ%F9W&> #! #A7/DID Z>^%]!;KKO)*1LI78UY#K)6;?X+=?P+O*Q;J3X
M90LSC.3("&>$2J>*J/6^/V"T"\<_48C:KPZNM[0:[@"EZT9G [U*K!/;QD(R
MN /=GVV1&^BU952W4\"[2$L<+4=L)D TT8&& KK*GA7)Z<IJXR3(FUWJ0J,M
M_-]=%D\R?YZ8:J>">3%]*)NBO TFAS!:9Y>B>2,/_H:;!?;N > 50D.J72%#
;]?T2[2F@G.)PFZ2&] $*[>9I >5# '8%@GX:
end
--------------------------------------------------------------------------------
--
-- Andreas Nowatzyk (DC5ZV)
Carnegie-Mellon University Arpa-net: agn@unh.cs.cmu.edu
Computer Science Department Usenet: ...!seismo!unh.cs.cmu.edu!agn