mirror of
https://github.com/rvtr/ctr_eFuse.git
synced 2025-11-02 00:11:04 -04:00
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_eFuse@176 ff987cc8-cf2f-4642-8568-d52cce064691
72 lines
1.6 KiB
Plaintext
72 lines
1.6 KiB
Plaintext
CTR - ID生成関数について 2009/09/30
|
||
|
||
----------------------------
|
||
要、opensslライブラリ(バージョン0.9.8以上)
|
||
現在、openssl-1.0.0-beta2とopenssl-0.9.8kでテスト中。
|
||
|
||
-----------------------------
|
||
ファイル構成:
|
||
readme.txt
|
||
readme_openssl.txt
|
||
LICENSE_en.txt
|
||
LICENSE_jp.txt
|
||
cr_generate_id.h
|
||
cr_generate_id.c
|
||
cr_alloc.h
|
||
cr_alloc.c
|
||
cr_gen_id_rsa_key_priv.c
|
||
cr_gen_id_rsa_key_priv.h
|
||
cr_gen_id_rsa_key_pub.c
|
||
cr_gen_id_rsa_key_pub.h
|
||
maim.c(使用サンプル)
|
||
Makefile(Windows cygwin環境用)
|
||
|
||
----------------------------
|
||
関数仕様:
|
||
|
||
#define CR_ID_BUF_SIZE (2048/8)
|
||
#define CR_NUM_OF_SERIAL 5
|
||
|
||
typedef signed char s8;
|
||
typedef unsigned char u8;
|
||
typedef unsigned short u16;
|
||
typedef unsigned long u32;
|
||
typedef unsigned long long u64;
|
||
|
||
int cr_generate_id(u32 counter[CR_NUM_OF_SERIAL], u8 id[ID_BUF_SIZE]);
|
||
/*
|
||
Core2 Duo 2.66GHz 2GB で約0.016sec
|
||
*/
|
||
----------------------------
|
||
使用サンプル:
|
||
|
||
main()
|
||
{
|
||
u8 id_buf[CR_ID_BUF_SIZE]; /* 256byte(2048bit) */
|
||
u32 counter_array[CR_NUM_OF_SERIAL];
|
||
|
||
u32 counter0 = 1;
|
||
u64 counter1 = 2;
|
||
u64 counter2 = 3;
|
||
|
||
|
||
while( 1 ) {
|
||
counter_array[0] = counter0;
|
||
counter_array[1] = (u32)(counter1 & 0xffffffff );
|
||
counter_array[2] = (u32)( (counter1 >> 32) & 0xffffffff );
|
||
counter_array[3] = (u32)(counter2 & 0xffffffff );
|
||
counter_array[4] = (u32)( (counter2 >> 32) & 0xffffffff );
|
||
|
||
if( 0 != cr_generate_id(counter_array, id_buf) ) {
|
||
fprintf(stderr,"cr_generate_id failed c=0x%08x\n",counter0);
|
||
}
|
||
else {
|
||
fwrite(id, CR_ID_BUF_SIZE, 1, fp);
|
||
}
|
||
counter0++;
|
||
counter1 += (u64)rand();
|
||
counter2 += (u64)rand();
|
||
}
|
||
}
|
||
|