Jlsca is a toolbox in Julia to do the computational part (DPA) of a side channel attack. It supports:
+ Conditional averaging, for analog measurements
+ Conditional bitwise sample reduction, for whiteboxes
+ Incremental correlation statistics
+ Parallelization of all the above
+ Correlation power analysis (CPA)
+ non-profiled Linear regression analysis (LRA)
+ Mutual Information Analysis (MIA)
+ AES128/192/256 enc/dec, backward/forward S-box attacks
+ AES128 enc/dec chosen input MixColumn attack
+ Some whitebox models for AES (INV MUL / Klemsa)
+ DES/TDES1/TDES2/TDES3 enc/dec, backward/forward attack
+ SHA1 backward/forward attack (for HMAC)
+ Known key analysis + key rank evolution CSV output
+ Inspector trace set input and output
+ Split sample and data raw binary (Daredevil) input and output
Then, not really that related to this toolbox, but I’ve been playing with a Picoscope, and there is an example in examples/piposcope.jl that does (a quite fast, if I may say so myself) acquisition on Riscure’s Pinata board using the scope’s rapid block mode. Check the file header of piposcope.jl for more information.
Dependencies:
– Julia Language https://julialang.org/downloads/platform.html
How to use:
- make sure the julia executable is in your path Start he Julia REPL by executing julia Pkg.clone("https://github.com/Riscure/Jlsca") git clone https://github.com/Riscure/Jlsca && cd Jlsca running: julia examples/main-noninc.jl destraces/tdes2_enc_9084b0087a1a1270587c146ccc60a252.trs julia examples/main-condavg.jl aestraces/aes128_sb_ciph_0fec9ca47fb2f2fd4df14dcb93aa4967.trs julia examples/main-condred.jl destraces/des_enc_1c764a2af6e0322e.trs
Source: https://github.com/Riscure