原创 SHA256算法效率和代碼段大小關係

偶爾發現sha256算法的反彙編代碼段將近8KB,超過預期,仔細查找發現sha256_process函數的內部代碼書寫方式比較特別(這種方式可以提高算法效率,減少函數調用產生的進出棧消耗),造成了巨大的flash資源浪費。詳細說明見代碼註

原创 elf、bin、asm筆記

Gcc 編譯出來的是ELF文件。通常gcc –o test test.c,生成的test文件就是ELF格式的,在linuxshell下輸入 ./test就可以執行。 Bin 文件是經過壓縮的可執行文件,去掉ELF格式的東西,純粹的機器碼。

原创 HMACSHA256原理解析

需要支持HMACSHA256算法,GitHub找到源碼具體地址https://github.com/aperezdc/hmac-sha256/blob/master/hmac-sha256.c 移植到目標平臺,稍作處理測試ok了,原理:

原创 國密SM2 SM3 SM4 算法記錄

  根據國密推薦的SM2橢圓曲線(下圖右側輸出的曲線參數)公鑰密碼算法; 首先產生隨機數計算出曲線點C1,2個32byte的BigInteger大數,即爲SM2加密結果的第1部分,固定64B。 第2部C2分則是真正的密文,是對明文的加密結

原创 gmssl生成的國密證書解析

國密認證遇到的一些問題記錄: gmssl生成的key文件解析: gmssl生成的SM2證書文件解析:

原创 OPENSSL中RSA私鑰文件(PEM格式)解析小計

生成步驟就不寫了,自行百度。工作中要使用RSA2048公私鑰做簽名校驗,使用openssl工具生成公私鑰對,在導出數據時候發現私鑰參數長度顯示不對(或許是我搞錯了),具體記錄如下:Private-Key: (2048 bit)modulu

原创 android開機動畫不循環播放問題

在配置文件desc.txt中說明是循環播放的,但實際只播放一次,  原因很簡單:bootanimation\part0在壓縮過程中  自動生成了 一個數據庫文件Thumbs.db,刪掉 之後就能循環播放。

原创 nist隨機數測試算法使用記錄

網上找到開源的的nist算法,make之後發現算法太專業,不知道怎麼用,經過一段時間摸索,弄清楚的寫下來。 源碼目錄:nist/sts-2.1.2/ 編譯make 我的隨機數包是128M的二進制文件,執行所有運算大概耗時3個小時。 1.運

原创 OEM_KEYSTORE

解析這個數組,真的費勁,類似X509格式,但實際缺對不上,應該是我某個地方沒搞明白,暫時記錄下 const unsigned char OEM_KEYSTORE[] = {   0x30, 0x82, 0x06, 0x4f, /*tag,

原创 高通8909模塊之SPI特性

工作中遇到問題記錄一下: 某android核心模塊(高通8909)spi通信特異:發送32個字節SPI時鐘不連續。如圖: 總結, 32字節發送波形:先 發1個字節的時鐘->空閒一段時間->發16字節的時鐘->空閒一段時間->發15個字

原创 修改IAR工程文件名

轉載:木頭子 http://www.stmcu.org/module/forum/thread-578295-1-1.html 很多時候我們都爲了圖個方便,直接複製一份以前做過的項目,但是工程名卻一直無法修改。我在網上尋找了很多,網上也給

原创 Android中不同Density下Pixel dip關係探究

網上看了很多帖子,到目前我也搞不到那個到底哪個是對的,所以實驗探索,現在把結果貼出來,希望能夠和大家討論。 px與dp的轉換公式: 第一種:1DP = 1PX * density   (見http://blog.csdn.net/and

原创 移植zxing(C++)到嵌入式設備

從zxing官網找來用C++編寫的zxing源碼,需要移植到嵌入式設備上,根據性能需要優化,說說我的移植與優化方式: 1.編譯出的目標太大14MB,解碼耗時在秒級:首先查看編譯選項,SConscript腳本中 cxxflags.appen

原创 二維碼掃描之zxing與zbar的優劣

之前我有移植過zbar和zxing源碼到linux平臺,zbar移植的是C源碼,zxing移植的是C++代碼。兩者對比: 1.zxing支持更多的碼制:datamatix、PDF417、等,zbar不能很好支持PDF417(但是在源碼中有

原创 FAT系列文件系統總結

1.FAT12、16、32文件系統的升級是隨着管理容量的增大而產生的,根據系統定義這幾種文件系統是沒有嚴格管理容量界限的,蓋因根據實際使用效率而人爲劃分了界限: 文件系統 管理簇數量 每簇包含扇區 容量範圍 FAT12 1--4096(