RabbitÁ÷ÃÜÂëµÄJavaʵÏÖ
1. RabbitÁ÷ÃÜÂ루Rabbit Stream Cipher£©¼ò½é
RabbitÁ÷ÃÜÂëÊÇÓÉCryptico¹«Ë¾£¨http://www.cryptico.com£©Éè¼ÆµÄ£¬ÃÜÔ¿³¤¶È128룬
×î´ó¼ÓÃÜÏûÏ¢³¤¶ÈΪ264 Bytes£¬¼´16 TB£¬ÈôÏûÏ¢³¬¹ý¸Ã³¤¶È£¬ÔòÐèÒª¸ü»»ÃÜÔ¿¶ÔʣϵÄÏûÏ¢½øÐд¦Àí¡£ËüÊÇĿǰ°²È«ÐԽϸߣ¬¼Ó/½âÃÜËٶȱȽϸßЧµÄÁ÷ÃÜÂëÖ®Ò»£¬ÔÚ¸÷ÖÖ´¦ÀíÆ÷ƽ̨É϶¼Óв»·²µÄ±íÏÖ¡£
Ïêϸ×ÊÁÏ£º
1.http://www.cryptico.com/Files/filer/rabbit_fse.pdf
2.http://www.ietf.org/rfc/rfc4503.txt
±¾ÎÄʵÏÖÁ˸ÃËã·¨µÄjavaÓïÑÔʵÏÖ£¬½ö¹©²Î¿¼¡£
2. ʵÏÖÔ´Âë
/**
* The Java Implementation of Rabbit Stream Cipher
* @author cnbragon
* @email cnbragon_dot_163_dot_com
* @date 2009/09/25
* @note Not implemented IV scheme
* @Reference:
* 1.http://www.cryptico.com/Files/filer/rabbit_fse.pdf
* 2.http://www.ietf.org/rfc/rfc4503.txt
*/
class Rabbit
{
private int[] x = new int[8];
private int[] c = new int[8];
private int carry;
public void Rabbit()
{
for(int i = 0; i < 8; i++)
{
x[i] = c[i] = 0;
}
carry = 0;
}
private int g_func(int x)
{
int a = x & 0xffff;
int b = x >>> 16;
int h =( ( ( ( a * a ) >>> 17 ) + ( a * b ) ) >>> 15 ) + b * b;
int l = x * x;
return h ^ l;
}
/**
* @declaration ±È½ÏÁ½¸öÓзûºÅÕûÊýµÄÊ®Áù½øÖƵĴóС£¬¼´×÷ΪÎÞ·ûºÅÕûÊý½øÐбȽÏ
* @param x
* @param y
* @return Èô(unsigned x) < (unsigned y)£¬Ôò·µ»Ø1£¬·ñÔò·µ»Ø0
*/
private int compare(int x, int y)
{
long a = x;
long b = y;
a &= 0x00000000ffffffffl;
b &= 0x00000000ffffffffl;
return (a < b) ? 1 : 0;
}
private int rotL(int x, int y)
Ïà¹ØÎĵµ£º
JAVA×¢ÊÍ·½·¨¼°¸ñʽ
1¡¢µ¥ÐÐ(single-line)--¶Ì×¢ÊÍ£º//……
µ¥¶ÀÐÐ×¢ÊÍ£ºÔÚ´úÂëÖе¥ÆðÒ»ÐÐ×¢ÊÍ£¬ ×¢ÊÍǰ×îºÃÓÐÒ»ÐпÕÐУ¬²¢ÓëÆäºóµÄ´úÂë¾ßÓÐÒ»ÑùµÄËõ½ø²ã¼¶¡£Èç¹ûµ¥ÐÐÎÞ·¨Íê³É£¬ÔòÓ¦²ÉÓÿé×¢ÊÍ¡£
×¢Ê͸ñʽ£º/* ×¢ÊÍÄÚÈÝ */
ÐÐÍ·×¢ÊÍ£ºÔÚ´úÂëÐеĿªÍ·½øÐÐ×¢ÊÍ¡£Ö÷ҪΪÁËʹ¸ÃÐд ......
ת×Ô:http://lavasoft.blog.51cto.com/62575/27069
Java¶àÏ̱߳à³Ì×ܽá
Ò»¡¢ÈÏʶ¶àÈÎÎñ¡¢¶à½ø³Ì¡¢µ¥Ï̡߳¢¶àÏß³Ì
ÒªÈÏʶ¶àÏ߳̾ÍÒª´Ó²Ù×÷ϵͳµÄÔÀí˵Æð¡£
ÒÔǰ¹ÅÀϵÄDOS²Ù×÷ϵͳ£¨V 6.22£©Êǵ¥ÈÎÎñµÄ£¬»¹Ã»ÓÐÏ̵߳ĸÅÄϵͳÔÚÿ´ÎÖ»ÄÜ×öÒ»¼þÊÂÇé¡£±ÈÈçÄãÔÚcopy¶«Î÷µÄʱºò²»ÄÜrenameÎļþÃû¡£ÎªÁËÌá¸ß ......
load-on-startupÔªËØÒ»°ãÊÇÅäºÏservletµÄÅäÖÃʹÓõÄ,load-on-startup ÔªËØÔÚwebÓ¦ÓÃÆô¶¯µÄʱºòÖ¸¶¨ÁËservlet±»¼ÓÔØµÄ˳Ðò£¬ËüµÄÖµ±ØÐëÊÇÒ»¸öÕûÊý¡£Èç¹ûËüµÄÖµÊÇÒ»¸ö¸ºÕûÊý»òÊÇÕâ¸öÔªËØ²»´æÔÚ£¬ÄÇôÈÝÆ÷»áÔÚ¸Ãservlet±»µ÷ÓõÄʱºò£¬¼ÓÔØÕâ¸öservlet ¡£Èç¹ûÖµÊÇÕýÕûÊý»òÁ㣬ÈÝÆ÷ÔÚÅäÖõÄʱºò¾Í¼ÓÔØ²¢³õʼ»¯ ......