资源简介
中国商用密码.rar

代码片段和文件信息
//qibaofu
package com.sure.crypto.digests;
import com.sure.crypto.util.Pack;
public class SM3Digest extends GeneralDigest{
private static final int DIGEST_LENGTH = 32;
private int[] X = new int[68];
private int[] Y = new int[64];
private int xOff;
private int H1 H2 H3 H4 H5 H6 H7 H8;
private static final int T1 = 0x79cc4519;
private static final int T2 = 0x7a879d8a;
public SM3Digest() {
// TODO Auto-generated constructor stub
reset();
}
public SM3Digest(SM3Digest t)
{
super(t);
H1 = t.H1;
H2 = t.H2;
H3 = t.H3;
H4 = t.H4;
H5 = t.H5;
H6 = t.H6;
H7 = t.H7;
H8 = t.H8;
System.arraycopy(t.X 0 X 0 t.X.length);
System.arraycopy(t.Y 0 Y 0 t.Y.length);
xOff = t.xOff;
}
@Override
protected void processBlock() {
// TODO Auto-generated method stub
//为W1W2...W67赋值
for(int i=16; i<68; i++){
X[i] = P1(X[i-16]^X[i-9]^(X[i-3]<<15 | X[i-3]>>>17))^(X[i-13]<<7 | X[i-13]>>>25)^X[i-6];
}
//为W0‘W1‘..W63‘赋值
for(int j=0;j<64;j++){
Y[j] = X[j]^X[j+4];
}
int A = H1;
int B = H2;
int C = H3;
int D = H4;
int E = H5;
int F = H6;
int G = H7;
int H = H8;
int tempSS1 = 0;
int SS1 = 0;
int SS2 = 0;
int TT1 = 0;
int TT2 = 0;
for(int i=0;i<16;i++){
tempSS1 = (A<<12 | A>>>20) + E + (T1<>>(32-i));
SS1 = tempSS1<<7 | tempSS1>>>25;
SS2 = SS1^(A<<12 | A>>>20);
TT1 = f1(ABC) + D + SS2 + Y[i];
TT2 = g1(EFG) + H + SS1 + X[i];
D = C;
C = B<<9 | B>>>23;
B = A;
A = TT1;
H = G;
G = F<<19|F>>>13;
F = E;
E = P0(TT2);
}
for(int j=16;j<64;j++){
tempSS1 = (A<<12 | A>>>20) + E + (T2<>>(32-j));
SS1 = tempSS1<<7 | tempSS1>>>25;
SS2 = SS1^(A<<12 | A>>>20);
TT1 = f2(ABC) + D + SS2 + Y[j];
TT2 = g2(EFG) + H + SS1 + X[j];
D = C;
C = B<<9 | B>>>23;
B = A;
A = TT1;
H = G;
G = F<<19|F>>>13;
F = E;
E = P0(TT2);
}
H1 = H1^A;
H2 = H2^B;
H3 = H3^C;
H4 = H4^D;
H5 = H5^E;
H6 = H6^F;
H7 = H7^G;
H8 = H8^H;
//
// reset start of the buffer.
//
xOff = 0;
for (int i = 0; i < 16; i++)
{
X[i] = 0;
}
}
@Override
protected void processLength(long bitLength) {
// TODO Auto-generated method stub
if (xOff > 14)
{
processBlock();
}
X[14] = (int)(bitLength >>> 32);
X[15] = (int)(bitLength & 0xffffffff);
}
/**
* @函数功能:将消息分组B(i)划分为16个字W0W1...W15
* @param in inOff
*/
protected void processWord(byte[] in int inOff) {
// TODO Auto-generated method stub
int n = in[inOff]<<24;
n |= (in[++inOff]&0xff)<<16;
n |= (in[++inOff]&0xff)<<8;
n |= (in[++inOff]&0xff);
X[xOff] = n;
if(++xOff == 16)
{
processBl
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 326 2009-12-31 15:04 中国商用密码\SMS4\C\sms4\readme.txt
文件 784 2011-07-05 16:37 中国商用密码\SMS4\C\SMS41\SMS41\functions.h
文件 3017 2011-11-03 14:31 中国商用密码\SM3\sm3\sm3.h
文件 695 2012-08-03 00:06 中国商用密码\SMS4\C\sms4-1.h
文件 1391 2010-07-18 19:10 中国商用密码\SMS4\C\SMS4_5Modes\src\SMS4_head.h
文件 55 2011-07-04 17:50 中国商用密码\SMS4\C\SMS41\SMS41\SW_RV.h
文件 10598 2011-11-03 14:27 中国商用密码\SM3\sm3\sm3.c
文件 846 2011-10-27 17:28 中国商用密码\SM3\sm3\sm3test.c
文件 4978 2012-08-03 00:06 中国商用密码\SMS4\C\sms4-1.c
文件 12112 2012-08-02 15:16 中国商用密码\SMS4\C\sms4.c
文件 12216 2009-12-31 14:45 中国商用密码\SMS4\C\sms4\src\sms4.c
文件 245 2010-07-17 22:15 中国商用密码\SMS4\C\SMS4_5Modes\src\ByteToInt.cpp
文件 128 2010-07-17 22:15 中国商用密码\SMS4\C\SMS4_5Modes\src\Fill.cpp
文件 9390 2011-07-05 17:37 中国商用密码\SMS4\C\SMS41\SMS41\functions.cpp
文件 298 2010-07-17 22:15 中国商用密码\SMS4\C\SMS4_5Modes\src\IntToByte.cpp
文件 912 2010-07-17 22:32 中国商用密码\SMS4\C\SMS4_5Modes\src\KeyGenerate.cpp
文件 10867 2010-07-18 20:26 中国商用密码\SMS4\C\SMS4_5Modes\src\Main.cpp
文件 466 2010-07-18 16:09 中国商用密码\SMS4\C\SMS4_5Modes\src\Plus.cpp
文件 1659 2010-07-17 21:34 中国商用密码\SMS4\C\SMS4_5Modes\src\SBOX.cpp
文件 1436 2010-07-18 19:50 中国商用密码\SMS4\C\SMS4_5Modes\src\SMS4_De_CBC.cpp
文件 1424 2010-07-18 19:50 中国商用密码\SMS4\C\SMS4_5Modes\src\SMS4_De_CFB.cpp
文件 1429 2010-07-18 19:50 中国商用密码\SMS4\C\SMS4_5Modes\src\SMS4_De_CTR.cpp
文件 1374 2010-07-18 19:50 中国商用密码\SMS4\C\SMS4_5Modes\src\SMS4_De_OFB.cpp
文件 1242 2010-07-18 19:35 中国商用密码\SMS4\C\SMS4_5Modes\src\SMS4_Decrypt.cpp
文件 530 2010-07-17 23:33 中国商用密码\SMS4\C\SMS4_5Modes\src\SMS4_DecyptBlock.cpp
文件 1280 2010-07-18 19:38 中国商用密码\SMS4\C\SMS4_5Modes\src\SMS4_En_CBC.cpp
文件 1288 2010-07-18 19:53 中国商用密码\SMS4\C\SMS4_5Modes\src\SMS4_En_CFB.cpp
文件 1332 2010-07-18 19:50 中国商用密码\SMS4\C\SMS4_5Modes\src\SMS4_En_CTR.cpp
文件 1261 2010-07-18 19:50 中国商用密码\SMS4\C\SMS4_5Modes\src\SMS4_En_OFB.cpp
文件 1089 2010-07-18 19:34 中国商用密码\SMS4\C\SMS4_5Modes\src\SMS4_Encrypt.cpp
............此处省略65个文件信息
相关资源
- Source Insight 4.0.0080破解文件 替换lic
- Apk加固Demo
- VMware Workstation Pro 15 注册机
- HumanDet(公交车系统模式识别)
- 基于89C51的智能台灯
- 计算机数值分析.rar
- 水晶排课 11.53 破解版
- 51智能排课系统大课表版v5.1.3中文免费
- 用友U8新引入帐套后固定资产模块出错
- Beginning STM32: Developing with FreeRTOS libo
- 土木工程毕业设计(得了95分)
- 土木工程毕业设计 -大连理工大学
- 八重州 7800电路图 高清版
- PalmOS一些常识
- Palm OS应用程序设计指南
- Palm OS基础入门
- 通信原理第七版课后答案樊昌信.doc
- ALIENTEK战舰STM32F1 V3开发板原理图.rar
- [软件工程—实践者的研究方法].Roge
- pdfbox所需jar包
- Win98Dos启动盘的盘镜像纯净版
- DOS98.IMG启动文件
- Trojan-Qt5-Windows-0.0.4.rar
- 数字电路知识点汇总(精华版).doc
- SpringMVC文件上传与的实现.rar
- PID_AutoTune_v0.rar
- vspd7.2.308.zip
- 价值2k的H漫画小说系统
- Pythonamp;课堂amp;笔记(高淇amp;400;集第
- ddos压力测试工具99657
评论
共有 条评论