Author Topic: Contest Idea: Obfuscated Circuit Design Contest (Inspired by IOCCC)  (Read 5280 times)

0 Members and 1 Guest are viewing this topic.

Offline GiskardReventlovTopic starter

  • Frequent Contributor
  • **
  • Posts: 598
  • Country: 00
  • How many pseudonyms do you have?
Inspired by the world famous International Obfuscated C Code Contest (IOCCC)* I think it would be fun and interesting to see an International Obfuscated Circuit Design Contest  (IOCDC).  The question to the experts would be where would we apply the constraints?  i.e. what would the rules be?

Just some naive thoughts from a beginner:
1. Has to fit on a 200 point breadboard/protoboard
2. Must contain no more than 10 components
3. Limited to 30 jumpers
4. There is no constraint 4 (place clever infinite electrical loop schematic here)

Maybe my suggestions are idiotic but you get the idea. The contest has to be bounded otherwise it would be hard to judge and too easy to obfuscate.

What's in it for the contestant winners?  Your name in lights of course!  (Have a look at some of those winners of IOCCC, recognize any? I do.)
What's in it for observers?  You can learn a lot from seeing code like that and I think the same applies to obfuscated circuits.


*Here are links to the International Obfuscated C Code Contest:
http://www.ioccc.org/2013/rules.txt
http://www.ioccc.org/2013/guidelines.txt


Edit: Added another C to the topic title
« Last Edit: February 19, 2014, 04:48:22 am by GiskardReventlov »
 

Offline kolonelkadat

  • Regular Contributor
  • *
  • Posts: 202
  • Country: us
  • Obviously, windows are central to Windows.
    • Force Project X
Re: Contest Idea: Obfuscated Circuit Design Contest (Inspired by IOCC)
« Reply #1 on: February 19, 2014, 01:37:11 am »
my gut reaction was there is no way to obfuscate a circuit with only 10 components.

My next thought was I dont think you could obfuscate a circuit with _any_ amount of components.

then I remembered this guy. this guy is clever. lol.
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21651
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Contest Idea: Obfuscated Circuit Design Contest (Inspired by IOCC)
« Reply #2 on: February 19, 2014, 02:11:07 am »
I think a greater parts count would be better, but I don't think it's such a difficult task.  Lots of things escape common understanding; a few even escape detailed analysis and simulation.

You can even have many of the same "abuse" categories as the IOCCC (it's three C's, right?).  Logic chips selected for marginal thresholds; strange behavior at odd temps (including using the chip itself as an oven to reach that temp, or..).  Building everything out of discrete transistors, using multilevel logic thresholds, would be similar to macro expansion abuses.

The real trouble I think is going to be availability: there's so damned many people using C right now that there's bound to be a lot of smart hackers working on its, shall we say, dark side.  There just aren't so many hardcore analog engineers out there I feel.

I'd love to be corrected on that though.  I'll try my best to come up with something for sure :)

Edit:

In response to the video, and in similar fashion to the IOCCC, all details required to implement the circuit -- the source code, as it were -- must be provided.  The schematic at a minimum, but also layout details if necessary (because let's be honest, a lot of *normal* microwave circuits look pretty damn crazy to begin with), components selected for properties, and so on.  It can't be a contest if the judges can't construct the circuit for themselves!

One interesting difference, programs can be self-modifying, or introspective (I recall one IOCCC entry which produced platform-dependent results, detecting the processor it was compiled and ran on).  Whereas, the circuit is naturally static in configuration, and you have to go out of your way to change it (analog switches, muxes, etc.), in which case the purpose is apparent.  Likewise, whereas debugging a program requires knowledge of the data structures in memory, all the signals are there for the probing -- the voltage signals, anyway.  (One could attempt to obfuscate this by using current-mode signals with as little voltage swing as possible, or extremely high impedance signals which defy observation via conventional probes.)

Tim
« Last Edit: February 19, 2014, 02:23:55 am by T3sl4co1l »
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline free_electron

  • Super Contributor
  • ***
  • Posts: 8517
  • Country: us
    • SiliconValleyGarage
Re: Contest Idea: Obfuscated Circuit Design Contest (Inspired by IOCC)
« Reply #3 on: February 19, 2014, 02:33:52 am »
there is that dreaded audio amplifier using cmos inverters. or the hexapod using an abused 74245 to walk the darn thing
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline GiskardReventlovTopic starter

  • Frequent Contributor
  • **
  • Posts: 598
  • Country: 00
  • How many pseudonyms do you have?
Re: Contest Idea: Obfuscated Circuit Design Contest (Inspired by IOCC)
« Reply #4 on: February 19, 2014, 05:45:51 pm »
my gut reaction was there is no way to obfuscate a circuit with only 10 components.

I felt obligated to put something in my post since it was I making the pitch.  It just seemed flimsy not to include some thoughts. And I included the disclaimer "naive".

Can you think of a better number? I'd guess if it was too large it might become cumbersome to judge and might evoke tl;dr (too long;didn't read) in the casual observer.
 

Offline GiskardReventlovTopic starter

  • Frequent Contributor
  • **
  • Posts: 598
  • Country: 00
  • How many pseudonyms do you have?
Re: Contest Idea: Obfuscated Circuit Design Contest (Inspired by IOCC)
« Reply #5 on: February 19, 2014, 06:01:30 pm »
I think a greater parts count would be better, but I don't think it's such a difficult task.  Lots of things escape common understanding; a few even escape detailed analysis and simulation.
Knowing some of those "things escape common understanding" might help to come up with some constraints?
Maybe designing the rules in reverse?

Quote
You can even have many of the same "abuse" categories as the IOCCC (it's three C's, right?).  Logic chips selected for marginal thresholds; strange behavior at odd temps (including using the chip itself as an oven to reach that temp, or..).  Building everything out of discrete transistors, using multilevel logic thresholds, would be similar to macro expansion abuses.

That's a self-modifying characteristic there, i.e. "using the chip itself as an oven"


Quote
There just aren't so many hardcore analog engineers out there I feel.

I have no idea on that, but some people might feel inspired just to see their name in lights.


Quote
It can't be a contest if the judges can't construct the circuit for themselves!
Yes, and maybe the parts should be required to be easy to find.  Or if they're hard to find the entrant would provide those obscure parts.

Quote
One interesting difference, programs can be self-modifying, or introspective (I recall one IOCCC entry which produced platform-dependent results, detecting the processor it was compiled and ran on).
See above the "oven" example you gave.

Quote
(One could attempt to obfuscate this by using current-mode signals with as little voltage swing as possible, or extremely high impedance signals which defy observation via conventional probes.)

I figured there was wiggle room.  I also recall a teardown and I think only two legs of a transistor were used.  The IOCCC entrants sometimes looked like they should do one thing but by their devious nature did another. I think that was the inspiration for a lot of the entrants.  i.e. make it look like an apple but in fact it's more like an orange.
 

Offline kolonelkadat

  • Regular Contributor
  • *
  • Posts: 202
  • Country: us
  • Obviously, windows are central to Windows.
    • Force Project X
Re: Contest Idea: Obfuscated Circuit Design Contest (Inspired by IOCC)
« Reply #6 on: February 19, 2014, 10:07:13 pm »

In response to the video, and in similar fashion to the IOCCC, all details required to implement the circuit -- the source code, as it were -- must be provided.  The schematic at a minimum, but also layout details if necessary

that makes more sense than the "betcha cant explain why the output of this _assembled_ circuit is what it is." The breadboard requirement had me thinking it was just a "who can assemble parts the sneakiest" kind of deal.
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21651
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Contest Idea: Obfuscated Circuit Design Contest (Inspired by IOCCC)
« Reply #7 on: February 20, 2014, 12:10:48 am »
Although breadboard layout can be quite handy, for instance jumpering adjacent rows for a few extra pF.  I've been known to do that. :)

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline GiskardReventlovTopic starter

  • Frequent Contributor
  • **
  • Posts: 598
  • Country: 00
  • How many pseudonyms do you have?
Re: Contest Idea: Obfuscated Circuit Design Contest (Inspired by IOCCC)
« Reply #8 on: February 27, 2014, 03:32:00 am »
Regarding the video.... Did he tamper with the switches? Or are the switches unique somehow?
 

Offline tom66

  • Super Contributor
  • ***
  • Posts: 6685
  • Country: gb
  • Electronics Hobbyist & FPGA/Embedded Systems EE
Re: Contest Idea: Obfuscated Circuit Design Contest (Inspired by IOCCC)
« Reply #9 on: February 28, 2014, 07:20:25 pm »
Regarding the video.... Did he tamper with the switches? Or are the switches unique somehow?

They have resonant cut and pass filters, along with the LEDs, if you are interested, you can see his solution video on this, quite fascinating stuff!
 

Offline GiskardReventlovTopic starter

  • Frequent Contributor
  • **
  • Posts: 598
  • Country: 00
  • How many pseudonyms do you have?
Re: Contest Idea: Obfuscated Circuit Design Contest (Inspired by IOCCC)
« Reply #10 on: February 28, 2014, 08:00:26 pm »
They have resonant cut and pass filters, along with the LEDs, if you are interested, you can see his solution video on this, quite fascinating stuff!

I will look but it's fun to contemplate and maybe even ponder.  Do you mean resonant-cut-and-pass filters? Or resonant-cut filters and pass filters?   A filter that cuts at a prescribed resonance?  Yes, yes I'll look at his video.

There's much to be learned from obfuscation. It's attractive. Us humans love patterns but we love it more when the patterns are hard to see or obfuscated. (Not just us humans, e.g. curiosity killed the cat)
 

Offline GiskardReventlovTopic starter

  • Frequent Contributor
  • **
  • Posts: 598
  • Country: 00
  • How many pseudonyms do you have?
Re: Contest Idea: Obfuscated Circuit Design Contest (Inspired by IOCCC)
« Reply #11 on: March 01, 2014, 07:26:13 pm »
you can see his solution video on this, quite fascinating stuff!

That's diabolical!!

How else is he applying his craft?  Gee, I wonder.
 

Offline JoannaK

  • Frequent Contributor
  • **
  • Posts: 336
  • Country: fi
    • Diytao making blog
Re: Contest Idea: Obfuscated Circuit Design Contest (Inspired by IOCCC)
« Reply #12 on: March 09, 2014, 08:33:17 am »
I'd say that the system can't contain any microcontrollers.. or, if those are used, they must be on default Erased state. (so no written code or configuration in them).
 

Offline GiskardReventlovTopic starter

  • Frequent Contributor
  • **
  • Posts: 598
  • Country: 00
  • How many pseudonyms do you have?
Re: Contest Idea: Obfuscated Circuit Design Contest (Inspired by IOCCC)
« Reply #13 on: March 10, 2014, 10:42:08 pm »
I'd say that the system can't contain any microcontrollers.. or, if those are used, they must be on default Erased state. (so no written code or configuration in them).

I agree that no microcontrollers is a good idea. Then it could turn into the IOCCC.

But what do you mean that if they were used "they must be on default Erased state."?  Would there be a reason to use one in its erased-state? I'm curious now.
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21651
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Contest Idea: Obfuscated Circuit Design Contest (Inspired by IOCCC)
« Reply #14 on: March 11, 2014, 12:01:48 am »
Hmm... first time I ever used a Z80 (note: it's a microprocessor, not microcontroller), I set the data bus to 00h, applied power and clock, and put an LED on A15.  It blinked.  Overly elaborate 16 bit counter (00h = NOP), at 20.3Hz I believe it was (4MHz / 2^16, and /3 for the instruction cycles).

I don't think microprocessors are all that bad an idea, just keeping programming to a minimum: nothing with Flash, [E]EPROM, NVRAM, etc.  If it's programmed, it has to be done manually (e.g., jumpers on the breadboard, hand made diode matrix, etc.), and not entered on powerup (no bootstrapping).  This will make microcontrollers rather useless (they simply don't do anything at all when blank), but could still allow unintuitive uses for uPs (e.g., analog waveform > ADC > instruction fetch; uP as counter, gating, jack-in-the-box digital function block, etc.).

Tim
« Last Edit: March 11, 2014, 12:05:50 am by T3sl4co1l »
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline katzohki

  • Frequent Contributor
  • **
  • Posts: 378
  • Country: us
    • My Blog
Re: Contest Idea: Obfuscated Circuit Design Contest (Inspired by IOCCC)
« Reply #15 on: July 07, 2014, 07:42:23 pm »
My hats off to anyone who can build this:

http://xkcd.com/730/
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf