数据结构+算法+编程技巧+效率+ACM+密码学
aaaaatiger
Ai powered-IOT Traffic Realisation
展开
-
无聊的测试--浮点&
// t.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includeusing namespace std;int _tmain(int argc, _TCHAR* argv[]){ float a=0.0f;//1.0与0.0的结果不同 cout cout cout while(1); return 0;}原创 2006-11-21 15:33:00 · 795 阅读 · 0 评论 -
C语言陷阱和缺陷[1]
[译序] 那些自认为已经“学完”C语言的人,请你们仔细读阅读这篇文章吧。路还长,很多东西要学。我也是……[概述] C语言像一把雕刻刀,锋利,并且在技师手中非常有用。和任何锋利的工具一样,C会伤到那些不能掌握它的人。本文介绍C语言伤害粗心的人的方法,以及如何避免伤害。[内容] 0 简介 1 词法缺陷 1.1 = 不转载 2007-04-14 15:09:00 · 1442 阅读 · 0 评论 -
MD5和SHA-1数字签名加密算法破解全过程
短短半年的时间,数字签名加密算法的两座大厦先后倒塌——MD5和SHA-1这两种应用最为广泛的数字签名加密算法都被山东大学的王小云教授破解,业界为这次数字签名遭遇的“9.11”事件感到震惊的同时,也开始对今天广泛应用的数字签名算法体系进行反思,我国于2005年4月1日开始实施的《电子签名法》也开始承受各种压力。 在8个月以前,人们还以为在全球广泛应用的MD5和SHA-1都是值得信任的安全的数字签原创 2007-11-17 13:57:00 · 6630 阅读 · 2 评论 -
数字签名算法SHA-1的FPGA高速实现
摘 要:随着网络的迅速发展,信息安全越来越重要,信息认证是验证收到信息来源和内容的基本技术。常用的信息验证码是使用单向散列函数生成验证码,安全散列算法SHA-1使用在是因特网协议安全性(IPSec)标准中。在设计中使用FPGA高速实现SHA-1认证算法,以PCI卡形式处理认证服务。 关键词:数字签名算法;现场可编程门阵列(FPGA);计算机安全 引言 随着网络的迅速发展,对安全性的需要越发重要。转载 2007-11-17 14:38:00 · 1849 阅读 · 1 评论 -
加密解密、信息摘要
MD5算法研究 综述 md5的全称是message-digest algorithm 5(信息-摘要算法),在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来,经md2、md3和md4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的转载 2007-11-17 14:42:00 · 4307 阅读 · 0 评论 -
SHA-1
SHA-1 SHA 家族SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院 (NIST) 发布的一系列密码散列函数。正式名称为 SHA 的家族第一个成员发布于 1993年。然而现在的人们给它取了一个非正式的名称 SHA-0转载 2007-11-17 14:24:00 · 1161 阅读 · 2 评论 -
Use of the RSASSA-PSS Signature Algorithm in Cryptographic Message Syntax (CMS)
from http://www.ietf.org/rfc/rfc4056.txtNetwork Working Group J. SchaadRequest for Comments: 4056 Soaring Hawk ConsultingCatego原创 2008-02-26 11:21:00 · 1354 阅读 · 0 评论 -
OMADRM2:签名和MAC算法
在OMA-DRM-v2中定义了一系列算法。这些算法并不被标准jdk的jce支持,因而需要单独实现。比如签名算法,使用的是RSA-PSS-Default(即PKCS#1v2.1中新增的RSASSA-PSS算法),而不是jce中常用的RSAwithSHA1对于的URI为http://www.w3.org/2000/09/xmldsig#rsa-sha1,------------------------原创 2008-02-26 11:49:00 · 2204 阅读 · 0 评论 -
PKCS #1 v2.1 Errata
$Revision: 2.0 $December, 2005Copyright (C) 2005 RSA Laboratories, a division of RSA SecurityInc. License to copy this document is granted provided that it isidentified as "RSA Security Inc. Public-Ke原创 2008-03-01 16:30:00 · 1231 阅读 · 0 评论 -
一些网上密码学资源
一些网上密码学资源(1)------密码综述 密码概述 An Overview of Cryptography - 一篇密码学概要文章。RSA Labs FAQ - 一篇RSA的密码学常见问题解答。A Cryptographic Compendium - 一篇密码学纲要文章。Encryption and Security Tutorial - 一套密码学简明教程。SSH Support原创 2008-03-01 14:07:00 · 4038 阅读 · 1 评论 -
RE: [Ipsec] Doubt regarding Encoding method for RSA
This article tell us that its the same for signature encoding method (EMSA-PKCS1-v1_5) between PKCS#1 v2.0 and PKCS#1 v2.1:arcoding to the rsassa-pkcs1-v1_5-sign(K,M), you must use the EMSA-PKCS1-v原创 2008-03-02 00:40:00 · 1118 阅读 · 0 评论 -
EMSA-PKCS1-V1_5-ENCODE及EMSA-PKCS1-V1_5-ENCODE 的实现- just for sha1
头文件:#ifndef _UPKI__UPKI_PKCS1_PAD_H#define _UPKI__UPKI_PKCS1_PAD_H#include #include /* suggested int types */ typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned in原创 2008-03-02 18:17:00 · 2427 阅读 · 0 评论 -
os2ip及i2osp的实现
.h文件#ifndef _MP_H#define _MP_H#define _REENTRANT#include #include typedef unsigned char uint8_t;typedef unsigned short uint16_t;typedef unsigned int uint32_t; #define MP_WBITS 32U typede原创 2008-03-02 23:09:00 · 2328 阅读 · 0 评论 -
用java实现des加密和解密
个用DES来加密、解密的类 http://www.javanb.com/java/1/17816.html import java.security.*; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.转载 2008-01-10 22:30:00 · 1027 阅读 · 0 评论 -
DES加密算法的原理
DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,首先,DES把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,并进行前后置换(输入的第58位换到第一位,第50位换到第2位,依此类推,最后一位是原来的第7位),最终由L0输出左32位,R0输出右32位,根据这个法则经过16次迭代运算后,得到L16、R16,将此作为输入,进行与初始置换相反转载 2008-01-11 00:12:00 · 15725 阅读 · 1 评论 -
DES加密算法的原理
DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,首先,DES把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,并进行前后置换(输入的第58位换到第一位,第50位换到第2位,依此类推,最后一位是原来的第7位),最终由L0输出左32位,R0输出右32位,根据这个法则经过16次迭代运算后,得到L16、R16,将此作为输入,进行与初始置换相反转载 2008-01-11 00:12:00 · 1542 阅读 · 0 评论 -
RSA
http://www.pediy.com/tutorial/chap6/Chap6-3-1.htm1、RSA算法 它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, Adi Shamir 和Leonard Adleman。但RSA的安全性一直未能得到理论上的证明。它经历了各种攻击,至今未被完全攻破。一转载 2008-01-12 20:02:00 · 919 阅读 · 0 评论 -
整数拆分(不可重复)
/** * Name: 整数拆分(不可重复) * Author: 寒江风 * Algorithm: dynamic programming * Description: 整数拆分(不可重复) 给定一个整数n(3~500),试求这个整数的拆分方式 * (不可重复,且至少包含两个元素)。如6的拆分方式有1 5、2 4、1 2 3 三种。 * 定义数原创 2007-04-14 15:02:00 · 2177 阅读 · 0 评论 -
数字塔问题
数字塔 一个数字三角形宝塔(三角形中的数字不超过100)。现在要从顶端走到底层,每一步可以向下或者右斜线向下走。 如(3可以走到8, 也可以走到1)73 58 1 0 任务a:(层数N不大于10)输入一个整数m,编程确定是否存在一条路径,使得所经过的数字之和等于m。若存在则输出路径(有多少输出多少),不存在则输出“No Solution”转载 2007-04-14 15:00:00 · 1314 阅读 · 2 评论 -
无聊的测试-计算某数值转化为二进制时 含1的个数
哪位高手来说说原理?下边是我的一些测试:55 54 52 48 32 0(1 2 4 16 32)99 98 96 64 0(1 ,2,32,64)// t.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includeusing namespace std;int Cal1BitsNum(int x){ in原创 2006-11-21 15:48:00 · 723 阅读 · 0 评论 -
无聊的测试-奇怪的赋值
// t.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includeusing namespace std;int vals[10];int error=-1;int &put(int n){ if(n>=0&&n { return vals[n]; } return error;} int _tmain(int argc, _TCH原创 2006-11-21 16:08:00 · 647 阅读 · 0 评论 -
无聊的测试-union
// t.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includeusing namespace std;union{ int i; char x[2];}a; int _tmain(int argc, _TCHAR* argv[]){ a.x[0]=10; a.x[1]=1;// 0x01 0x0A==266 cout whi原创 2006-11-21 16:34:00 · 678 阅读 · 0 评论 -
无聊的测试-strcpy
// t.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includeusing namespace std;char *strcpy(char *strDest,const char *strSrc){ if(strDest==NULL||strSrc==NULL) { return NULL; } if(strDest==strSrc) {原创 2006-11-21 16:43:00 · 733 阅读 · 0 评论 -
无聊的测试-更正 慧通 某个参考答案 的说法
//如果有错误,麻烦各位指正int main(){ int a[5]={1,2,3,4,5}int *ptr=(int*)(&a+1);printf("%d,%d",*(a+1),*(ptr-1));//输出结果多少? 部分人认为:2,5} //在VC7(2003) 控制台下输出为2,XXXXXXX(随机数) 解释不了下边的输出:// t.cpp : 定原创 2006-11-21 20:56:00 · 812 阅读 · 0 评论 -
无聊的测试-大端小端格式判断以及空class的大小
// t.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using namespace std;int checkCUP(){ union w { int a; char b; }c; c.a=1; return (c.b==1);//如果是小端格式则返回1}class cc{};int _tmain(int argc, _T原创 2006-11-22 16:36:00 · 1121 阅读 · 0 评论 -
无聊的测试(1) 大小写转换(含中文)
// test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h" char* str1 = new char[100];char* ToLower(char *s){ s=str1; memset(str1,0,100); strcpy(str1,"ABDFLjlero我们都是saf"); int i; static int len=s原创 2006-11-21 15:27:00 · 846 阅读 · 0 评论 -
素数问题
寄信人: Fll (沧海一声笑)标 题: 素数问题发信站: 郁金香BBS站 (2004年08月28日21:52:41 星期六)来 源: 10.13.3.118#include#includeint n,a[22],m[22][22],used[22],num[22];int prime(int k) //判断k是否是素数{ int i; for(i=2;i if(转载 2006-12-14 16:57:00 · 690 阅读 · 0 评论 -
高精度阶乘、乘方排列组合
寄信人: Fll (沧海一声笑)标 题: 高精度阶乘、乘方排列组合发信站: 郁金香BBS站 (2004年10月01日23:22:30 星期五)来 源: 10.13.6.24#include#define max 60000int main(){ int i,j,x,b,f,n,t,m; int a[max],d=1,e=1; char z; e=1; whil转载 2006-12-14 16:59:00 · 1231 阅读 · 0 评论 -
阶乘算法
寄信人: Fll (沧海一声笑)标 题: 阶乘算法发信站: 郁金香BBS站 (2004年08月17日13:48:27 星期二)来 源: 10.13.3.118#include#includeint fact(int n){ int a[900];/*记录结果*/ int flag=1;/*结果位数标志*/ int data=n;/*计算过程中的被乘转载 2006-12-14 16:57:00 · 803 阅读 · 0 评论 -
请教哪位大侠1115题的算法
寄信人: Fll (沧海一声笑)标 题: Re: 请教哪位大侠1115题的算法?发信站: 郁金香BBS站 (2005年04月26日13:38:58 星期二)来 源: 郁金香BBS站#include#include#includetypedef struct node{ char key[30]; int len; struct node *lchild,*rchild;}转载 2006-12-14 17:04:00 · 862 阅读 · 0 评论 -
常用工具
dos下: comp file1 file2 比较两个文件的异同输入输出重定向 freopen("callCenterSystem.in","r",stdin); freopen("callCenterSystem.out","w+",stdout);原创 2007-03-09 22:21:00 · 881 阅读 · 0 评论 -
整数拆分(可重复)
/* * Name: 整数拆分(可重复) * Author: 寒江风 * Arighmetic: dynamic programming * Description: 整数拆分问题(可重复) 给定一个整数n(1~300),试求这个整数的拆分方 * 式。如3的拆分方式有3、2 1、1 1 1 三种。 * 定义数组dat[][] dat[i][j]表示转载 2007-04-14 15:01:00 · 1334 阅读 · 1 评论 -
强盗分金问题(博弈论经典问题)
㊣ 问题描述 在一座座荒岛上,有5个强盗掘出了100块非常珍贵的金币。他们商定了一个分配金币的规则: 首先抽签决定每个人的次序,排列成强盗一至五。然后由强盗一先提出分配方案,经5人表决,如多数人同意,方案就被通过,否则强盗一将被扔入大海喂鲨鱼。如果强盗一被扔入大海,就由强盗二接着提出分配方案,如多数人同意方案就被通过,否则强盗二也要被扔入大海。以下依次类推。假定每个强转载 2007-04-14 15:02:00 · 5248 阅读 · 0 评论 -
大话字符编码(zz)
字符编码这个东西实在是头疼,一会儿是ISO5589-1,一会儿是GB2312,一会儿又是UTF-8,60%以上的程序员对这个东西稀里糊涂,前些天查了一些文档,好好梳理了一下,把自己的心得分享给大家。 首先,我们来明确一些概念:字符:它是抽象的最小文本单位。字符就是对某种意义的图画表示,或者说形状表示。“A”是一个字符,“¥”也是一个字符。 字符集:字符的集合。比如汉字字符集,原创 2007-04-14 14:56:00 · 873 阅读 · 0 评论 -
大数组中获取K个大数
问题: N个数中查找K个大的数 编程实现从N个无序的数中,获取前K个大的数值。 例如在arr[] = {1, 2, 7, 4, 8, 0, 6, 5} 查找前3个大的数,结果为{8, 7, 6}。㊣ Algorithm#include #define MAX 100000void qsearch(int rnum[], int start, int end, int len){ int原创 2007-04-14 14:59:00 · 741 阅读 · 0 评论 -
分组对称加密模式:ECB/CBC/CFB/OFB
一般的加密通常都是块加密,如果要加密超过块大小的数据,就需要涉及填充和链加密模式,文中提到的ECB和CBC等就是指链加密模式。在C#组件中实现的很多算法和Java都不太兼容,至少我发现RSA和AES/ECB是如此。研究了AES/ECB时发现了这篇文档,图还画的不错,先记下。注意,还缺一种CTR的模式。 对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB) 一转载 2008-06-08 23:02:00 · 33361 阅读 · 4 评论