# aes

Published articles for aes.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Breaking ledgerctf's AES white-box challenge

DevFeed: [Breaking ledgerctf's AES white-box challenge](<https://devfeed.tech/articles/breaking-ledgerctf-s-aes-white-box-challenge-39705.md>)

Original publisher: [Read original article](<https://doar-e.github.io/blog/2018/05/17/breaking-ledgerctfs-aes-white-box-challenge/>)

Author: Axel "0vercl0k" Souchet

Published: 2018-05-17T18:52:00Z

Content type: article

Language: en

Sources: [Diary of a reverse-engineer](<https://devfeed.tech/sources/diary-of-a-reverse-engineer.md>)

Topics: [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Encryption](<https://devfeed.tech/topics/encryption.md>), [Reverse Engineering](<https://devfeed.tech/topics/reverse-engineering.md>), [obfuscation](<https://devfeed.tech/topics/obfuscation.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>)

Tags: [aes](<https://devfeed.tech/tags/aes.md>), [cryptography](<https://devfeed.tech/tags/cryptography.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [ledgerctf](<https://devfeed.tech/tags/ledgerctf.md>), [obfuscation](<https://devfeed.tech/tags/obfuscation.md>), [reverse-engineering](<https://devfeed.tech/tags/reverse-engineering.md>), [white-box](<https://devfeed.tech/tags/white-box.md>), [whitebox](<https://devfeed.tech/tags/whitebox.md>)

### AI overview

This article examines Ledger's ctf2 binary from its bug bounty puzzles, describing its AES white-box protection scheme and the author's reverse-engineering process for breaking it. The binary is presented as a C++ ELF64 executable with no apparent obfuscation, code encryption, or packing.

### Source excerpt

Introduction About a month ago, my mate b0n0n was working on the ledgerctf puzzles and challenged me to have a look at the ctf2 binary. I eventually did and this blogpost discusses the protection scheme and how I broke it. Before diving in though, here is a bit of background ...

## DIY Portable Secrets Manager With a Raspberry Pi Zero and ARC

DevFeed: [DIY Portable Secrets Manager With a Raspberry Pi Zero and ARC](<https://devfeed.tech/articles/diy-portable-secrets-manager-with-a-raspberry-pi-zero-and-arc-41256.md>)

Original publisher: [Read original article](<https://www.evilsocket.net/2017/12/07/DIY-Portable-Secrets-Manager-with-a-RPI-Zero-and-the-ARC-Project/>)

Author: Simone Margaritelli

Published: 2017-12-07T16:42:48Z

Content type: tutorial

Language: en

Sources: [evilsocket](<https://devfeed.tech/sources/evilsocket.md>)

Topics: [Raspberry Pi](<https://devfeed.tech/topics/raspberry-pi.md>), [passwords](<https://devfeed.tech/topics/passwords.md>), [Encryption](<https://devfeed.tech/topics/encryption.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>), [API](<https://devfeed.tech/topics/api.md>), [Go](<https://devfeed.tech/topics/go.md>), [HTML5](<https://devfeed.tech/topics/html5.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [aes](<https://devfeed.tech/tags/aes.md>), [api](<https://devfeed.tech/tags/api.md>), [arc](<https://devfeed.tech/tags/arc.md>), [arcd](<https://devfeed.tech/tags/arcd.md>), [cybersecurity](<https://devfeed.tech/tags/cybersecurity.md>), [database](<https://devfeed.tech/tags/database.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [go](<https://devfeed.tech/tags/go.md>), [golang](<https://devfeed.tech/tags/golang.md>), [html5](<https://devfeed.tech/tags/html5.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [notes](<https://devfeed.tech/tags/notes.md>), [oss](<https://devfeed.tech/tags/oss.md>), [password-manager](<https://devfeed.tech/tags/password-manager.md>), [passwords](<https://devfeed.tech/tags/passwords.md>), [pi](<https://devfeed.tech/tags/pi.md>), [portable-hacking](<https://devfeed.tech/tags/portable-hacking.md>), [project-release](<https://devfeed.tech/tags/project-release.md>), [raspberry-pi](<https://devfeed.tech/tags/raspberry-pi.md>), [secrets](<https://devfeed.tech/tags/secrets.md>), [self-hosted](<https://devfeed.tech/tags/self-hosted.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

This tutorial presents ARC, a self-hosted secrets manager designed to store encrypted passwords, notes, and files and synchronize access across devices without relying on cloud hosting or a paid server. It describes a Go REST API server using SQLite and an HTML5/JavaScript browser client, then begins configuring the system on a Raspberry Pi Zero.

### Source excerpt

For the last few days I've been working on a new project which I developed for very specific needs and reasons: I need to store safely (encrypted) my passwords, sensitive files, notes, etc. I need to access them from anywhere, with every possible device ( desktop, mobile, terminal ). I need those objects to be syncronized accros all my devices. I don't want to use "the cloud". I don't want to pay for a server. I don't want to enable port forwarding and host it myself with DynDNS or alikes. So I wrote ARC.

## Spotlight on an unprotected AES128 white-box implementation

DevFeed: [Spotlight on an unprotected AES128 white-box implementation](<https://devfeed.tech/articles/spotlight-on-an-unprotected-aes128-white-box-implementation-39698.md>)

Original publisher: [Read original article](<https://doar-e.github.io/blog/2015/02/08/spotlight-on-an-unprotected-aes128-whitebox-implementation/>)

Author: Axel "0vercl0k" Souchet

Published: 2015-02-09T06:59:00Z

Content type: tutorial

Language: en

Sources: [Diary of a reverse-engineer](<https://devfeed.tech/sources/diary-of-a-reverse-engineer.md>)

Topics: [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Encryption](<https://devfeed.tech/topics/encryption.md>), [C](<https://devfeed.tech/topics/c.md>), [Code](<https://devfeed.tech/topics/code.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [aes](<https://devfeed.tech/tags/aes.md>), [aes128](<https://devfeed.tech/tags/aes128.md>), [c](<https://devfeed.tech/tags/c.md>), [code](<https://devfeed.tech/tags/code.md>), [cryptography](<https://devfeed.tech/tags/cryptography.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [github](<https://devfeed.tech/tags/github.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [obfuscation](<https://devfeed.tech/tags/obfuscation.md>), [practical-cryptography](<https://devfeed.tech/tags/practical-cryptography.md>), [white-box](<https://devfeed.tech/tags/white-box.md>)

### AI overview

This tutorial introduces white-box cryptography through an unprotected AES128 implementation. It explains the design goals and outlines transforming a plain C AES128 encryption function into a white-box implementation, with emphasis on how design weaknesses can allow key extraction.

### Source excerpt

Introduction I think it all began when I've worked on the NSC2013 crackme made by @elvanderb, long story short you had an AES128 heavily obfuscated white-box implementation to break. The thing was you could actually solve the challenge in different ways: the first one was the easiest one: you didn't ...

## Hardware entropy: RDRAND

DevFeed: [Hardware entropy: RDRAND](<https://devfeed.tech/articles/hardware-entropy-rdrand-38923.md>)

Original publisher: [Read original article](<https://idea.popcount.org/2013-03-25-hardware-entropy-rdrand>)

Author: Marek

Published: 2013-03-24T23:00:00Z

Content type: article

Language: en

Sources: [Marek Majkowski](<https://devfeed.tech/sources/marek-majkowski.md>)

Topics: [Randomizer](<https://devfeed.tech/topics/randomizer.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [Security](<https://devfeed.tech/topics/security.md>), [intel](<https://devfeed.tech/topics/intel.md>), [Linux Kernel](<https://devfeed.tech/topics/linux-kernel.md>)

Tags: [aes](<https://devfeed.tech/tags/aes.md>), [ansi](<https://devfeed.tech/tags/ansi.md>), [bits](<https://devfeed.tech/tags/bits.md>), [cryptographic](<https://devfeed.tech/tags/cryptographic.md>), [entropy](<https://devfeed.tech/tags/entropy.md>), [fips](<https://devfeed.tech/tags/fips.md>), [generator](<https://devfeed.tech/tags/generator.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [intel](<https://devfeed.tech/tags/intel.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [linux-kernel](<https://devfeed.tech/tags/linux-kernel.md>), [nist](<https://devfeed.tech/tags/nist.md>), [security](<https://devfeed.tech/tags/security.md>), [time](<https://devfeed.tech/tags/time.md>)

### AI overview

This article explains Intel's RDRAND instruction, which uses an on-processor entropy source and AES conditioning to produce hardware-generated random numbers. It also describes checking the carry flag because RDRAND may temporarily return no data when demand exceeds hardware supply.

### Source excerpt

Hardware entropy: RDRAND This is the third blog post on machine instructions: This time I've noticed instruction. According to Wikipedia is: ... a random number generator that is compliant with security and cryptographic standards such as NIST SP800-90, FIPS 140-2, and ANSI X9.82. The generator uses an on-processor entropy source, which passes the randomly generated bits to an AES (in CBC-MAC mode) conditioner to distill the entropy into non-deterministic random numbers. Sounds good.