0%

简介

  • 最近入手了ChipWhisperer的CW308 的底板,方便进一步学习侧信道攻击,详见官网介绍:https://rtfm.newae.com/Targets/CW308 UFO/

    image-20230416125221810

  • 有了底板之后就可以自从官方的github仓库中 https://github.com/newaetech/chipwhisperer-target-cw308t 获取pcb源码,自己打板制作更多的目标板了,打板pcb可以白嫖嘉立创,每月两次免费打板机会(规则貌似是:如果上月消费<20,那么两次免费打板仅限于立创EDA的工程文件,上月消费>=20,那么免费打板没有这个限制,具体以官方说明为准)

  • 虽然嘉立创免费打板可能要受限于要立创EDA设计,但是基于ChipWhisperer开源的Altium Designer的工程文件和原理图,还是可以自己将AD工程移植为立创EDA工程

阅读全文 »

简介

  • 最近实际逆向过程中,经常会遇到AES算法,而且有时也会遇到一些非标准AES或者魔改的AES

  • 本着进一步了解AES算法的态度,决定结合网上各种资料,自己动手实现一次AES加解密,加深自己对AES的了解

  • 当然网上有很多优秀的AES实现了,其中最著名的当属:openssl,openssl包含非常多的密码学算法的实现,而且很多都是性能优化后的实现。一个比较小巧的c语言实现是:https://github.com/kokke/tiny-AES-c

  • python的一些AES实现:

  • 这里再介绍一下python的:pycryptodome库,这个虽然是python库,但底层算法是c写的,所以性能上是非常不错的,可以安装这个库替换python的Crypto库,也可以与Crypto共存。这个库可以作为python中各种加密算法的标准库来使用。

  • 因为这里是以学习为目的,所以本文不考虑任何性能上的问题

阅读全文 »

简介

  • switch 硬破后,一般都把任天堂相关的域名IP屏蔽了,所以就不能自动联网校准时间

  • 时间久了,switch的时间就会与标准时间偏差很大,使用Tinfoil下载就有可能会出现下面的错误,这种情况手动设置时间一般与无济于事

    1
    2
    3
    SSL Connection failed.
    Your system clock is likely incorrect.
    Please ensure your system date time is set correctly.
  • 这时候就可以使用一个插件来同步时间:https://github.com/nedex/QuickNTP.git

  • 但QuickNTP默认的几个服务器,有时候也会出现连不上情况

  • 接下来介绍,如何将QuickNTP默认的NTP服务器替换为国内NTP服务器并重新编译.ovl文件

阅读全文 »

简介

阅读全文 »

简介

  • 最近为了方便折腾硬件CTF,于是准备用Atmega328P-PU搭建Arduino最小系统
  • 需要用到的器件
    • 面包板 x1
    • Atmega328P-PU x 1
    • USB转UART x1(建议有DTR引脚的,可以用来自动Reset)
    • 22pF 陶瓷电容 x2
    • 16 MHz晶振
    • Arduino uno或者Arduino mini x1(用于给Atmega328P-PU芯片烧录bootloader)
    • 导线(杜邦线,面包板线)
    • 1µF (100nF) 陶瓷电容x2(可选)
    • 10 kΩ电阻(可选)
    • 二极管(可选)

arduino

阅读全文 »

简介

  • 本篇将继续跟随chipwhisperer-jupyter sca101的教程来学习比差分能量分析(Differential Power Analysis, DPA)更强大的相关性能量分析(Correlation Power Analysis, CPA)

  • 在之前的DPA学习中为了恢复完整的AES密钥,需要抓取了大量的能量迹(几千条),而这里使用CPA只需要50条能量迹即可恢复完整的AES密钥,如此足矣可见这个方法的强大之处

    image-20220827165052510

阅读全文 »