125 reputation
4
bio website ripple.com
location Las Vegas, NV
age 36
visits member for 2 years
seen Oct 21 at 3:05

I am a software engineer, a mad scientist, a specialized generalist and a renaissance geek.

I grew up playing with test tubes and beakers, reading history and philosophy books, making model rockets, drawing just about everywhere, playing basketball, and tinkering with remote control cars and planes.

Currently, I am working at Ripple Labs, on Ripple: a distributed payment network that allows anyone to send money to anyone else, in any currency. It is based on the same principles as the Internet: free for everyone, accessible to anyone, owned by no one, and connecting the whole world on a shared network. You really should check it out - visit us at https://ripple.com.

I have worked as a software engineer for over fifteen years and although C++ is my favorite plaything, I have many others toys at my disposal and use them to do amazing things. I have developed just about everything – from shiny user interfaces to low-level kernel drivers. I've worked on servers that handle tens of thousands of users, caching software that accelerates hard drives using SSDs and encrypted distributed storage & backup systems.

My interests are diverse; beyond math-based currencies, they involve next-generation interactive software and input methods, cryptography, security, static software analysis, software protection, cloud storage and performance optimization.

You can find me on Twitter as @nbougalis or reach me by e-mail at nikb@bougalis.net.


Apr
10
awarded  Autobiographer
Nov
24
awarded  Supporter
Nov
23
awarded  Critic
Nov
23
comment Detecting end-state of decryption process with unknown key
And the question of the one-time pad was meant to get you thinking about statistical analysis. Given a blob that's n bits longs, composed of one-time-pad XOR-encrypted data, I can derive a key that generates any possible message I want - the original might say "ATTACK AT DAWN" but my decryption might generate "SURRENDER NOW!". This isn't always the case with other ciphers, although it may very well be. But "may" doesn't count.
Nov
23
comment Detecting end-state of decryption process with unknown key
Sure, if the data you are attempting to decrypt cannot be distinguished from "random" data (as might be the case when you are encrypting something that's already encrypted) then statistical analysis may not be of much help. As for whether it can help when the file is not in a "natural langauge" format, ask yourself whether you could write a program to detect Windows PE or Linux ELF executable files using purely statistical methods and that question will be answered.
Nov
23
awarded  Teacher
Nov
23
answered Detecting end-state of decryption process with unknown key