Giter Club home page Giter Club logo

simple-deep-learning-sca's Introduction

Simple-deep-learning-SCA

Simple deep learning side channel attack. Experimental data set based on chipwhisperer.

注意:部分参数的设置已经由a转变为了1-a,所以部分超参数可能需要调整

自己的毕业设计,做一个纪念

使用了一些简单机器学习算法和一些简单的深度学习算法+特征提取算法,针对sbox out进行汉明重量的分类。

作者

backahasten 重庆邮电0xFA成员(已经毕业) 野生侧信道研究者

mail :[email protected]

内容

cw_template.py

由chipwhisperer官方提供的模板攻击代码,作为对照。

fft_pca_mlp.py

频域->pca降维->mlp分类

lda.py

lda分类

mlp.py

时域mlp分类

svm.py

使用SVM算法进行分类

svm_search.py

用于搜索SVM最优参数

一些总结

传统的模板攻击的特征点选取方法,提取的所有点是同一个一维度特性,如果提取的特征点太多,没有带来信息量的增加,反而使得矩阵的条件数越来越大,矩阵中毒,无法求解。pca降维,在数学上意义上比较好,无论是频域还是时域实际效果还是比较好的。

这个是一个微小差别分类问题,所以mlp的步长特别小,特别容易过拟合。

对齐

CNN分类是可以搞定没有对齐的的曲线的,但是由于算力问题没有做实验。

我个人认为,通过前期的弹性对齐之后,再进行分类和攻击,无论是算力还是效果上,性价比是最好的。我认为,对没对齐的曲线直接攻击分类是没有性价比的。

simple-deep-learning-sca's People

Contributors

backahasten avatar flagjollyroger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

simple-deep-learning-sca's Issues

fft_pca_mlp的问题

fft_pca_mlp在频域上给出的模型结果,但没有给出得出key的方法,是使用频域模型,是不是不好得到正确的key?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.