2014年12月28日 星期日

解決TortoiseGit( 版本: 1.8.12.0 ) 的commit功能無法正常運作的問題


    原來TortoiseGit (版本:1.8.12.0) 的commit功能在XP及server 2003底下會無法正常運作。要去官網 http://download.tortoisegit.org/tgit/1.8.12.0/TortoiseGit-1.8.12.0-WindowsXP-fix.zip 下載更新檔(其實這也不算是更新檔,但一時想不到更好的字眼),解壓縮後手動取代掉TortoiseGitProc.exe這一個執行檔問題就解決了。

2014年10月26日 星期日

linker script 說明

Linker Script (LD Script) 的目的是提供Linker針對編譯後的Object檔案做位置安排的設定

VMA = Virtual Memory Address
LMA = Load Memory Address

.text = program code
.rodara  = read-only data
.data = read-write initialized data
.bss = read-write uninitialized data


SECTIONS
{
    . = 0x10000; /* 設定記憶體位址(VMA or LMA?)為0x10000 */
    .text : { *(.text) } /* 將所有輸入文件的.text section 合併成一個 .text section */
    . = 0x8000000; /* 設定記憶體位址(VMA or LMA?)為0x8000000 */
    .data : { *(.data) } /* 將所有輸入文件的.data section 合併成一個 .data section */
    .bss : { *(.bss) } /* 將所有輸入文件的.bss section 合併成一個 .bss section */
}

說明:
'.'  : 原文為"location counter",代表目前擺放的位址。


Reference:
http://www.scoberlin.de/content/media/http/informatik/gcc_docs/ld_3.html

To be continue...

2014年9月30日 星期二

Open SSL 加密指令簡介

本篇文章的指令需再open SSL下執行


1. DES ECB 
可參考附錄 A。
建立明文檔案,檔名為 test_data.txt,檔案內容為
Now is the time for all
(all後面有一個空白)


加密 


指令:
openssl enc -des-ecb -in test_data.txt -out des_cipher.txt -nosalt -K 0123456789ABCDEF

 產生出的密文為:
3F A4 0E 8A 98 4D 48 15 6A 27 17 87 AB 88 83 F9
89 3D 51 EC 4B 56 3B 53 08 6F 9A 1D 74 C9 4D 4E
(由於明文長度只有 24 bytes,所以密文只有前24 bytes才是真正有用的部分。)

解密
指令:
openssl enc -des-ecb -d -in des_cipher.txt -out plain.txt -nosalt -K 0123456789ABCDEF


2. Triple DES ECB 
可參考附錄 B。
建立明文檔案,檔名為 des3_test_plain.txt,檔案內容為
The qufck brown fox jump

  • Three key triple DES EDE in ECB mode

加密 

指令:
openssl enc -des-ede3 -nosalt -K 0123456789ABCDEF23456789ABCDEF01456789ABCDEF0123 -in des3_test_plain.txt -out des3_encipher.txt

 產生出的密文為:
A8 26 FD 8C E5 3B 85 5F CC E2 1C 81 12 25 6F E6
68 D5 C0 5D D9 B6 B9 00 83 28 46 B5 2F 9E 21 3D
(由於明文長度只有 24 bytes,所以密文只有前24 bytes才是真正有用的部分。)

解密 
指令:
openssl enc -des-ede3 -d -nosalt -K 0123456789ABCDEF23456789ABCDEF01456789ABCDEF0123 -in des3_encipher.txt -out des3_recover_plain.txt


  • Two key triple DES EDE in ECB mode
加密 

指令:
openssl enc -des-ede -K 0123456789ABCDEF23456789ABCDEF01 -nosalt -in des3_test_plain.txt -out des3_encipher.txt


解密 
指令:
openssl enc -des-ede -d -nosalt -K 0123456789ABCDEF23456789ABCDEF01 -in des3_encipher.txt -out des3_recover_plain.txt




參考網址
A. FIPS 8: http://csrc.nist.gov/publications/fips/fips81/fips81.htm
B. NIST Pub 800-67: http://csrc.nist.gov/publications/nistpubs/800-67-Rev1/SP-800-67-Rev1.pdf

To be continue.....