------------www.mrklingon.org-----------
...You are foreigners and aliens here... 1 Peter 2:11  

The Klingon in the Basement


Home Archives Contact

Monday, January 20, 2003 :::
 

Picture of the day - in Ascii graphics.
Sunday, after church we went to Wendy's for lunch, then dropped Liv off at the library to study, while we went shopping.
On the way home, when we were driving by the St. Paul Campus, we saw three wild turkey's sauntering across the street by the frat houses.
Here's my rendition of one of them:

.---------------.
/ . / oLo \
| ' O/_____/________/____\O
,' / /__________+__________\
/ / / (#############) \
/ / |[**](#############)[**]|
/ .' \_______________________/
/ | |_""__|_,-----,_|__""_|
.' / | | '-----' | |
' / '-' '-'
/ / .--.
| ,' /} p \
,' .' `~)-) / /}
/ ' ( . \ /` }
/ / `. \ . /`}.' }
/ / \ \:....____-'""-.__ . / ' }-;'
/ / -.._ `--. \/ '.',i
.' .' `+ `.-=-; ' } ;:
' | '. -=-' _,;
/ / `-,_ _________.'`
/ `|||
/ .=='=,
,'
/




Note: I borrowed drawings by "APC" and "JGS" that I found at
Linkname: Ascii Art Dictionary (Andreas Freise)
URL: http://www.ascii-art.de/. For the wild turkey, I started
with JGS's picture of a domestic turkey and altered it.


::: posted by Joel at 9:23 AM




Powered by Blogger

/* Cryptography Javascript code written by John Walker (http://www.fourmilab.ch/javascrypt/). Modified by Vincent Cheung (http://veenix.blogspot.com/) July 17, 2006 */ /* >8)&0xFF); state[2][j]^=((roundKey[j]>>16)&0xFF);state[3][j]^=((roundKey[j]>>24)&0xFF);}} function keyExpansion(key){var expandedKey=new Array();var temp; Nk=keySizeInBits/32;Nb=blockSizeInBits/32;Nr=roundsArray[Nk][Nb];for(var j=0; j>8)&0xFF])|(SBox[(temp>>16)&0xFF]<<8)|(SBox[(temp>>24) &0xFF]<<16)|(SBox[temp&0xFF]<<24))^ Rcon[Math.floor(j/Nk)-1]; else if(Nk>6&&j%Nk==4)temp=(SBox[(temp>>24)&0xFF]<<24)|(SBox[(temp>>16) &0xFF]<<16)|(SBox[(temp>>8)&0xFF]<<8)|(SBox[temp&0xFF]); expandedKey[j]=expandedKey[j-Nk]^ temp;}return expandedKey;}function Round(state, roundKey){byteSub(state,"encrypt");shiftRow(state,"encrypt");mixColumn(state,"encrypt"); addRoundKey(state,roundKey);}function InverseRound(state,roundKey) {addRoundKey(state,roundKey);mixColumn(state,"decrypt");shiftRow(state,"decrypt"); byteSub(state,"decrypt");}function FinalRound(state,roundKey){byteSub(state,"encrypt"); shiftRow(state,"encrypt");addRoundKey(state,roundKey);} function InverseFinalRound(state,roundKey){addRoundKey(state,roundKey); shiftRow(state,"decrypt");byteSub(state,"decrypt");}function encrypt(block,expandedKey) {var i;if(!block||block.length*8!=blockSizeInBits)return;if(!expandedKey)return; block=packBytes(block);addRoundKey(block,expandedKey);for(i=1;i0;i--)InverseRound(block, expandedKey.slice(Nb*i,Nb*(i+1)));addRoundKey(block,expandedKey); return unpackBytes(block);}function byteArrayToHex(byteArray){var result=""; if(!byteArray)return;for(var i=0;i0) {plaintext=plaintext.concat(getRandomBytes(bpb-i));}return plaintext;} function getRandomBytes(howMany){var i,bytes=new Array();for(i=0;i0; block--){aBlock=decrypt(ciphertext.slice(block*bpb,(block+1)*bpb),expandedKey); if(mode=="CBC")for(var i=0;i */ /* =0){a=a%0x80000000;a>>=b;a+=0x40000000>>(b-1);}else{a>>=b;} return a;}function shl1(a){a=a%0x80000000;if(a&0x40000000==0x40000000) {a-=0x40000000;a*=2;a+=0x80000000;}else{a*=2;}return a;}function shl(a,b) {a=integer(a);b=integer(b);for(var i=0;i=0){if(t2>=0){return((t1&t2)+0x80000000);} else{return(t1&b);}}else{if(t2>=0){return(a&t2);}else{return(a&b);}}} function or(a,b){a=integer(a);b=integer(b);var t1=a-0x80000000; var t2=b-0x80000000;if(t1>=0){if(t2>=0){return((t1|t2)+0x80000000);} else{return((t1|b)+0x80000000);}}else{if(t2>=0){return((a|t2)+0x80000000);} else{return(a|b);}}}function xor(a,b){a=integer(a);b=integer(b); var t1=a-0x80000000;var t2=b-0x80000000;if(t1>=0){if(t2>=0){return(t1 ^ t2);} else{return((t1 ^ b)+0x80000000);}}else{if(t2>=0){return((a ^ t2)+0x80000000);} else{return(a ^ b);}}}function not(a){a=integer(a);return 0xffffffff-a;} var state=new array(4);var count=new array(2);count[0]=0;count[1]=0; var buffer=new array(64);var transformBuffer=new array(16); var digestBits=new array(16);var S11=7;var S12=12;var S13=17;var S14=22; var S21=5;var S22=9;var S23=14;var S24=20;var S31=4;var S32=11;var S33=16; var S34=23;var S41=6;var S42=10;var S43=15;var S44=21;function F(x,y,z) {return or(and(x,y),and(not(x),z));}function G(x,y,z){return or(and(x,z),and(y, not(z)));}function H(x,y,z){return xor(xor(x,y),z);}function I(x,y,z) {return xor(y,or(x,not(z)));}function rotateLeft(a,n){return or(shl(a,n),(shr(a, (32-n))));}function FF(a,b,c,d,x,s,ac){a=a+F(b,c,d)+x+ac;a=rotateLeft(a,s);a=a+b; return a;}function GG(a,b,c,d,x,s,ac){a=a+G(b,c,d)+x+ac;a=rotateLeft(a,s);a=a+b; return a;}function HH(a,b,c,d,x,s,ac){a=a+H(b,c,d)+x+ac;a=rotateLeft(a,s);a=a+b; return a;}function II(a,b,c,d,x,s,ac){a=a+I(b,c,d)+x+ac;a=rotateLeft(a,s);a=a+b; return a;}function transform(buf,offset){var a=0,b=0,c=0,d=0; var x=transformBuffer;a=state[0];b=state[1];c=state[2];d=state[3];for(i=0;i<16; i++){x[i]=and(buf[i*4+offset],0xFF);for(j=1;j<4;j++) {x[i]+=shl(and(buf[i*4+j+offset],0xFF),j*8);}}a=FF(a,b,c,d,x[0],S11,0xd76aa478); d=FF(d,a,b,c,x[1],S12,0xe8c7b756);c=FF(c,d,a,b,x[2],S13,0x242070db);b=FF(b,c,d,a, x[3],S14,0xc1bdceee);a=FF(a,b,c,d,x[4],S11,0xf57c0faf);d=FF(d,a,b,c,x[5],S12, 0x4787c62a);c=FF(c,d,a,b,x[6],S13,0xa8304613);b=FF(b,c,d,a,x[7],S14,0xfd469501); a=FF(a,b,c,d,x[8],S11,0x698098d8);d=FF(d,a,b,c,x[9],S12,0x8b44f7af);c=FF(c,d,a,b, x[10],S13,0xffff5bb1);b=FF(b,c,d,a,x[11],S14,0x895cd7be);a=FF(a,b,c,d,x[12],S11, 0x6b901122);d=FF(d,a,b,c,x[13],S12,0xfd987193);c=FF(c,d,a,b,x[14],S13,0xa679438e) ;b=FF(b,c,d,a,x[15],S14,0x49b40821);a=GG(a,b,c,d,x[1],S21,0xf61e2562);d=GG(d,a,b, c,x[6],S22,0xc040b340);c=GG(c,d,a,b,x[11],S23,0x265e5a51);b=GG(b,c,d,a,x[0],S24, 0xe9b6c7aa);a=GG(a,b,c,d,x[5],S21,0xd62f105d);d=GG(d,a,b,c,x[10],S22,0x2441453); c=GG(c,d,a,b,x[15],S23,0xd8a1e681);b=GG(b,c,d,a,x[4],S24,0xe7d3fbc8);a=GG(a,b,c, d,x[9],S21,0x21e1cde6);d=GG(d,a,b,c,x[14],S22,0xc33707d6);c=GG(c,d,a,b,x[3],S23, 0xf4d50d87);b=GG(b,c,d,a,x[8],S24,0x455a14ed);a=GG(a,b,c,d,x[13],S21,0xa9e3e905); d=GG(d,a,b,c,x[2],S22,0xfcefa3f8);c=GG(c,d,a,b,x[7],S23,0x676f02d9);b=GG(b,c,d,a, x[12],S24,0x8d2a4c8a);a=HH(a,b,c,d,x[5],S31,0xfffa3942);d=HH(d,a,b,c,x[8],S32, 0x8771f681);c=HH(c,d,a,b,x[11],S33,0x6d9d6122);b=HH(b,c,d,a,x[14],S34,0xfde5380c) ;a=HH(a,b,c,d,x[1],S31,0xa4beea44);d=HH(d,a,b,c,x[4],S32,0x4bdecfa9);c=HH(c,d,a, b,x[7],S33,0xf6bb4b60);b=HH(b,c,d,a,x[10],S34,0xbebfbc70);a=HH(a,b,c,d,x[13],S31, 0x289b7ec6);d=HH(d,a,b,c,x[0],S32,0xeaa127fa);c=HH(c,d,a,b,x[3],S33,0xd4ef3085); b=HH(b,c,d,a,x[6],S34,0x4881d05);a=HH(a,b,c,d,x[9],S31,0xd9d4d039);d=HH(d,a,b,c, x[12],S32,0xe6db99e5);c=HH(c,d,a,b,x[15],S33,0x1fa27cf8);b=HH(b,c,d,a,x[2],S34, 0xc4ac5665);a=II(a,b,c,d,x[0],S41,0xf4292244);d=II(d,a,b,c,x[7],S42,0x432aff97); c=II(c,d,a,b,x[14],S43,0xab9423a7);b=II(b,c,d,a,x[5],S44,0xfc93a039);a=II(a,b,c, d,x[12],S41,0x655b59c3);d=II(d,a,b,c,x[3],S42,0x8f0ccc92);c=II(c,d,a,b,x[10],S43, 0xffeff47d);b=II(b,c,d,a,x[1],S44,0x85845dd1);a=II(a,b,c,d,x[8],S41,0x6fa87e4f); d=II(d,a,b,c,x[15],S42,0xfe2ce6e0);c=II(c,d,a,b,x[6],S43,0xa3014314);b=II(b,c,d, a,x[13],S44,0x4e0811a1);a=II(a,b,c,d,x[4],S41,0xf7537e82);d=II(d,a,b,c,x[11],S42, 0xbd3af235);c=II(c,d,a,b,x[2],S43,0x2ad7d2bb);b=II(b,c,d,a,x[9],S44,0xeb86d391); state[0]+=a;state[1]+=b;state[2]+=c;state[3]+=d;}function md5_init() {count[0]=count[1]=0;state[0]=0x67452301;state[1]=0xefcdab89;state[2]=0x98badcfe; state[3]=0x10325476;for(i=0;i=63){transform(buffer,0);}} function md5_finish(){var bits=new array(8);var padding;var i=0,index=0,padLen=0; for(i=0;i<4;i++){bits[i]=and(shr(count[0],(i*8)),0xFF);}for(i=0;i<4;i++) {bits[i+4]=and(shr(count[1],(i*8)),0xFF);}index=and(shr(count[0],3),0x3F); padLen=(index<56)?(56-index):(120-index);padding=new array(64);padding[0]=0x80; for(i=0;i */ /* maxLineLength){b64t+=b64l+"\n";b64l="";} b64l+=base64code.charAt(b[i]>>2);b64l+=base64code.charAt(((b[i]&3)<<4) |(b[i+1]>>4));b64l+=base64code.charAt(((b[i+1]&0xF)<<2)|(b[i+2]>>6)); b64l+=base64code.charAt(b[i+2]&0x3F);}if((b.length-i)==1) {b64l+=base64code.charAt(b[i]>>2);b64l+=base64code.charAt(((b[i]&3)<<4)); b64l+="==";}else if((b.length-i)==2){b64l+=base64code.charAt(b[i]>>2); b64l+=base64code.charAt(((b[i]&3)<<4)|(b[i+1]>>4)); b64l+=base64code.charAt(((b[i+1]&0xF)<<2));b64l+="=";}if((b64l.length+4) >maxLineLength){b64t+=b64l+"\n";b64l="";}if(base64addsent) {b64l+=base64esent;}b64t+=b64l+"\n";return b64t;}function disarm_base64(s) {var b=new Array();var i=0,j,c,shortgroup=0,n=0;var d=new Array(); if((j=s.indexOf(base64sent))>=0){s=s.substring(j+base64sent.length,s.length);} if((j=s.indexOf(base64esent))>=0){s=s.substring(0,j);}while(i=s.length){if(j>0){ //alert("Base64 cipher text truncated."); return b;}break;} c=base64code.indexOf(s.charAt(i));if(c>=0){d[j++]=c;}else if(s.charAt(i)=="=") {d[j++]=0;shortgroup++;}else if(s.substring(i,i+base64esent.length)==base64esent) {i=s.length;continue;}else{}i++;}if(j==4){b[n++]=((d[0]<<2)|(d[1]>>4))&0xFF; if(shortgroup<2){b[n++]=((d[1]<<4)|(d[2]>>2))&0xFF;if(shortgroup<1) {b[n++]=((d[2]<<6)|d[3])&0xFF;}}}}return b;} /* ]]> */ /* =0x80)&&(c<=0x7FF)){utf8+=String.fromCharCode((c>>6)|0xC0); utf8+=String.fromCharCode((c&0x3F)|0x80);}else{utf8+=String.fromCharCode((c>>12) |0xE0);utf8+=String.fromCharCode(((c>>6)&0x3F)|0x80); utf8+=String.fromCharCode((c&0x3F)|0x80);}}return utf8;} function utf8_to_unicode(utf8){var s="",i=0,b1,b2,b2;while(i=0xC0)&&(b1<0xE0)){b2=utf8.charCodeAt(i+1); s+=String.fromCharCode(((b1&0x1F)<<6)|(b2&0x3F));i+=2;} else{b2=utf8.charCodeAt(i+1);b3=utf8.charCodeAt(i+2); s+=String.fromCharCode(((b1&0xF)<<12)|((b2&0x3F)<<6)|(b3&0x3F));i+=3;}}return s;} function encode_utf8(s){var i,necessary=false;for(i=0;i0xFF)){necessary=true;break;}} if(!necessary){return s;}return String.fromCharCode(0x9D)+unicode_to_utf8(s);} function decode_utf8(s){if((s.length>0)&&(s.charCodeAt(0)==0x9D)) {return utf8_to_unicode(s.substring(1));}return s;} /* ]]> */ /* ').replace(/\\n/g,'
'); keyText = prompt("Please enter the decryption key", ""); setKey(keyText); var ct=new Array(); // remove line breaks ct=disarm_base64(encryptedText.replace(/
/gi, "").replace(/
/gi, "").replace(/\\n/gi, "")); var result=rijndaelDecrypt(ct,key,"CBC"); var header=result.slice(0,20); result=result.slice(20); var dl=(header[16]<<24)|(header[17]<<16)|(header[18]<<8)|header[19]; if((dl<0)||(dl>result.length)) { // alert("Message (length "+result.length+") truncated. "+dl+" characters expected."); dl=result.length; } var i,plaintext=""; md5_init(); for(i=0;i')); } /* ]]> */