[PD] GEM pix_record several gemheads

2016-06-06 Thread enrike

hi

a student trying to record the GEM window output using pix_record but it 
does not get the output of all the gemheads he is using. is there a 
simple way to join all the data before it is sent to the pix_record? 
pix_mix maybe? but that sounds kind of wrong to me...


thanks

enrike

___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] high-frequency birdsong

2016-06-06 Thread Andy Farnell

Now I remember we used to do this when I was a kid..
It was my first adventure into computer music.
Computers like the TRS80 didnt have soundcards
(or even beepers), but if you put an AM radio nearby it
was possible to make beeps and rhythm patterns by programming,
shorter FOR loops, or less operations in the body... shorter
and higher pitched sounds. It makes perfect sense to reverse
this and figure out the code from the sound.

I think the method still needs a lot of time, Like
collecting IVs for wifi cracking, the information is there,
but dispersed amongst many many samples, so you need to

1) collect a LOT of data
2) analyse it to find how the side channel statistically encodes data/secrets  

In the Genkin paper theres another important point;

Its an interactive attack, relying on "amplifying" side channel effects
adaptively. Thats like being able to poke the bird and make it tweet
(in Jonathan's original analogy). This is quite different from sampling
a signal from a system non-interactively. If you get to ask questions
you can bias answers. So triggering the "bird" to tweet relative to the 
low bandwidth sampling boundary allows us to probe data within the structure
of a signal we could not possibly sample under Nyquist restrictions.
a.



On Sun, Jun 05, 2016 at 08:38:19PM -0400, Matt Barber wrote:
> Figure 6 in the link is measuring up to 20khz over about a half second, and
> showing some kind of step function in the spectrum halfway through. I've no
> idea what they're actually recording.
> 
> On Sun, Jun 5, 2016 at 8:21 PM, Jonathan Wilkes  wrote:
> 
> > I'm trying to wrap my head around this:
> >
> > http://m.cacm.acm.org/magazines/2016/6/202646-physical-key-extraction-attacks-on-pcs/fulltext
> >
> > So to answer the question-- yes, the mic has to respond.  So if the worry
> > is cellphone microphones, I simply don't see how the mic could deliver any
> > useful data whatsoever to the analysis software.
> >
> > -Jonathan
> >
> >
> > On Sunday, June 5, 2016 8:07 PM, Matt Barber  wrote:
> >
> >
> > Will your mic respond? Or are the physics immaterial?
> >
> > On Sun, Jun 5, 2016 at 12:47 PM, Jonathan Wilkes via Pd-list <
> > pd-list@lists.iem.at> wrote:
> >
> > Hi list,
> > Suppose a bird sings a song in a frequency range around 1gHz. (Yes, "g"Hz)
> >
> > The song the bird sings is always exactly the same.
> >
> > The bird repeats its song several million times over the course
> > of an hour.
> >
> > If I record at a sampling rate of 44.1kHz below the tree in which the bird
> > is perched,
> > for a duration of one hour, would I be able to recreate the bird's song?
> >
> > -Jonathan
> >
> >
> > ___
> > Pd-list@lists.iem.at mailing list
> > UNSUBSCRIBE and account-management ->
> > https://lists.puredata.info/listinfo/pd-list
> >
> >
> >
> >
> >

> ___
> Pd-list@lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> 
> https://lists.puredata.info/listinfo/pd-list



signature.asc
Description: Digital signature
___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] GEM pix_record several gemheads

2016-06-06 Thread Claude Heiland-Allen

Hi Enrike,

On 06/06/16 11:23, enrike wrote:

a student trying to record the GEM window output using pix_record but it
does not get the output of all the gemheads he is using. is there a
simple way to join all the data before it is sent to the pix_record?
pix_mix maybe? but that sounds kind of wrong to me...


Multiple [gemhead]s without distinct priority will be implementation 
(un)defined behaviour, similar to connection fan-out vs [trigger] issues.


Set the priority of the [gemhead] connected to [pix_record] to be later 
than all the others.  See gemhead-help.pd for details, probably [gemhead 
-100] will do the trick but depends on the patch.


Hopefully this helps,


Claude
--
https://mathr.co.uk


___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] GEM pix_record several gemheads

2016-06-06 Thread Johnny Mauser via Pd-list
Another (probably expensive) way is to use pix_snap before pix_record.
Alternativ i used syphon on osx to record; works very good once it is
installed!

Cheers,

Johnny
Am 06.06.2016 13:49 schrieb "Claude Heiland-Allen" :

> Hi Enrike,
>
> On 06/06/16 11:23, enrike wrote:
>
>> a student trying to record the GEM window output using pix_record but it
>> does not get the output of all the gemheads he is using. is there a
>> simple way to join all the data before it is sent to the pix_record?
>> pix_mix maybe? but that sounds kind of wrong to me...
>>
>
> Multiple [gemhead]s without distinct priority will be implementation
> (un)defined behaviour, similar to connection fan-out vs [trigger] issues.
>
> Set the priority of the [gemhead] connected to [pix_record] to be later
> than all the others.  See gemhead-help.pd for details, probably [gemhead
> -100] will do the trick but depends on the patch.
>
> Hopefully this helps,
>
>
> Claude
> --
> https://mathr.co.uk
>
>
> ___
> Pd-list@lists.iem.at mailing list
> UNSUBSCRIBE and account-management ->
> https://lists.puredata.info/listinfo/pd-list
>
___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] LibPd on microcontroller

2016-06-06 Thread Chuckk Hubbard
Hi, Joe. Thanks for sharing Heavy.
I was simply referring to the main page saying "heavy supports a range of
platforms and frameworks allowing easy integration to your project." Before
going through the documentation, I was hoping to see which platforms and
frameworks. I see some logos, is that the list?
Chuckk


On Sun, May 15, 2016 at 4:06 PM, Joe White  wrote:

> Hi Chuckk,
>
> I'm one of the developers of heavy. Apologies that you felt some
> information was lacking, would be very interested in hearing more about
> your experience and what wasn't answered.
>
> The code that heavy generates should compile on any platform that has a
> C99 compiler, and if it didn't we'd be very interested in looking into why.
> There are no OS specific dependencies and you can even swap out your own
> malloc, math, etc.. implementations.
>
> The code is optimised for SSE, AVX and NEON instruction sets and we also
> provide a single sample option for platforms where they are not available
> (i.e. javascript)
>
> Here's an example of integration with portaudio
> https://github.com/enzienaudio/examples/tree/master/portaudio
>
> Thanks,
> Joe
>
>
>
> On 13 May 2016 at 23:22, Chuckk Hubbard  wrote:
>
>> Apropos of the heavy compiler, I was reading up on it and simply moved on
>> because of what seems to me a lack of information. There was an allusion to
>> it working for a wide variety of platforms and so on, but no actual lists
>> of this supposedly wide variety.
>> Does someone have an idea if it could compile Pd patches to work without
>> an OS for some architecture? Otherwise, why would you bother with it?
>> (that's not a rhetorical question)
>> Thanks.
>> -Chuckk
>>
>>
>> On Mon, May 9, 2016 at 6:39 PM, cyrille henry  wrote:
>>
>>> hello,
>>>
>>> I recently send a mail in this list describing my experience of audio
>>> synthesis on microcontroler, but i did not use libpd.
>>>
>>> i did not recommend libpd for microcontrolers.
>>>
>>> in fact, I did not recommend audio processing on hardware that did not
>>> have support for float arithmetic.
>>> (only me or crazy nerd do that).
>>>
>>> a micro controller to use is for example the cortex M4. You  can find
>>> them on the teensy hardware.
>>> teensy also provide a audio synthesis library, and is supported by
>>> arduino IDE.
>>>
>>> You can also have a look at the heavy compiler if you want to embedded a
>>> pd patch.
>>>
>>> Cyrille
>>>
>>>
>>>
>>>
>>>
>>> Le 09/05/2016 17:01, Christof Ressi a écrit :
>>>
 Hi,

 has anyone experience in using LibPd on a microcontroller?
 I wanna try to run some rather basic DSP code on this guy here:

 https://www.olimex.com/Products/IoT/MOD-WIFI-ESP8266-DEV/open-source-hardware
 There are some existing Arduino/C++ frameworks and I thought I could
 either write my own small DSP library in C++ or use LibPd.

 I understood that LibPd is completely independed of audio drivers and
 external libraries and since it's plain C code it should work on everything
 that can run code. However, I have only encountered LibPd in the context of
 other applications (processing, openFrameworks) and mobile devices so far.
 Do you think it could work on an ESP8266? I'm also a bit concerned about
 efficiency, as computation power is rather limited:

 "ESP8266EX is embedded with Tensilica L106 32-bit micro controller
 (MCU), which features extra low
 power  consumption  and  16-bit  RSIC. The  CPU  clock  speed  is
 80MHz.  It  can  also  reach  a  maximum
 value  of  160MHz.  Real  Time  Operation  System  (RTOS)  is
 enabled.  Currently,  only  20%  of  MIPS  has
 been  occupied  by  the  WiFi  stack,  the  rest  can  all  be  used
 for  user  application  programming  and
 development."

 Christof

 ___
 Pd-list@lists.iem.at mailing list
 UNSUBSCRIBE and account-management ->
 https://lists.puredata.info/listinfo/pd-list


>>> ___
>>> Pd-list@lists.iem.at mailing list
>>> UNSUBSCRIBE and account-management ->
>>> https://lists.puredata.info/listinfo/pd-list
>>>
>>
>>
>>
>> --
>> http://www.badmuthahubbard.com
>>
>> ___
>> Pd-list@lists.iem.at mailing list
>> UNSUBSCRIBE and account-management ->
>> https://lists.puredata.info/listinfo/pd-list
>>
>>
>


-- 
http://www.badmuthahubbard.com
___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] GEM pix_record several gemheads

2016-06-06 Thread enrike

aha! thanks, I will try this out

al., 2016.eko ekaren 06a 13:42(e)an, Claude Heiland-Allen igorleak 
idatzi zuen:

Hi Enrike,

On 06/06/16 11:23, enrike wrote:

a student trying to record the GEM window output using pix_record but it
does not get the output of all the gemheads he is using. is there a
simple way to join all the data before it is sent to the pix_record?
pix_mix maybe? but that sounds kind of wrong to me...


Multiple [gemhead]s without distinct priority will be implementation
(un)defined behaviour, similar to connection fan-out vs [trigger] issues.

Set the priority of the [gemhead] connected to [pix_record] to be later
than all the others.  See gemhead-help.pd for details, probably [gemhead
-100] will do the trick but depends on the patch.

Hopefully this helps,


Claude



___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


[PD] [PD-announce] IEM Music Residency Program 2017 - Call for Applications

2016-06-06 Thread IOhannes m zmoelnig
(sorry for cross-posting; please distribute)

The IEM – Institute of Electronic Music and Acoustics – in Graz, Austria
is happy to announce its call for the 2017 Artist-in-Residence program.

http://residency.iem.at/

The residency is aimed at individuals wishing to pursue projects in
performance, composition, installation and sound art, development of
tools for art production and related areas. Individuals are asked to
submit a project proposal that is related to the fields of artistic
research of the IEM, as:

  * Spatialization/higher-order Ambisonics
  * Sonic Interaction Design
  * Audio-visuality
  * Algorithmic Composition
  * Algorithmic Experimentation
  * Standard and non-standard Sound Synthesis
  * Live Coding

Duration of residency: 5 months

Start date: June 1st 2017 (negotiable)

Monthly salary: approx. EUR 1100 (net)


*APPLICATION DEADLINE: 1st of October 2016*

_The Institute:_

The Institute of Electronic Music and Acoustics is a department of the
University of Music and Performing Arts Graz founded in 1965. It is a
leading institution in its field, with more than 25 staff members of
researchers and artists. IEM offers education to students in composition
and computer music, sound engineering, contemporary music performance
and musicology. It is well connected to the University of Technology,
the University of Graz as well as to the University of Applied Sciences
Joanneum through three joint study programs.

The artwork produced at IEM is released through the Institute's own
OpenCUBE and Signale concert series, as well as through various
collaborations with international artists and institutions.

IEM's main activities are centered around the following research areas

  * Computer Music
  * Artistic Research
  * Signal Processing and Acoustics

_What we expect from applicants:_

  * A project proposal that adds new perspectives to the Institute's
activities and resonates well with the interests of IEM.
  * Willingness to work on-site in Graz for the most part of the Residency.
  * Willingness to exchange and share ideas, knowledge and results with
IEM staff members and students, and engage in scholarly discussions.
  * The ability to work independently within the Institute.
  * A dissemination strategy as part of the project proposal that
ensures the publication of the work, or documentation thereof, in a
suitable format. This could be achieved for example through the release
of media, journal or conference publication, a project website or other
means that help to preserve the knowledge gained through the Music
Residency and make it available to the public.
  * A public presentation as e.g. a concert or installation, which
presents the results of the Artist Residency.

_What we offer:_

  * 24/7 access to the facilities of the IEM.
  * Exchange with competent and experienced staff members.
  * A desk in a shared office space for the entire period and access to
studios including the CUBE which has a 24-channel loudspeaker system and
infrared motion tracking, according to availability.
  * During the period from July 1st until end of September the resident
will have extensive access to the studios of the IEM.
  * Regular possibilities for contact and exchange with peers from
similar or other disciplines.
  * Infrastructure (electroacoustic music studios, icosahedral
loudspeaker array, motion capture technology).
  * Concert and presentation facilities (CUBE 24 channel loudspeaker
concert space).
  * A monthly salary of approx. EUR 1100 net per month in addition to
health and accident insurance.

_What we cannot offer to the successful applicant:_

  * We can not provide any housing.
  * We also cannot provide continuous assistance and support, although
the staff is generally willing to help where possible.
  * We can not offer any additional financial support for travel or
material expenses.

An application form providing more information is available at

http://residency.iem.at/


Feel free to contact reside...@iem.at if you
have any
questions.



signature.asc
Description: OpenPGP digital signature
___
Pd-announce mailing list
pd-annou...@lists.iem.at
https://lists.puredata.info/listinfo/pd-announce
___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] high-frequency birdsong

2016-06-06 Thread Jonathan Wilkes via Pd-list




> Its an interactive attack, relying on "amplifying" side channel effects
adaptively. Thats like being able to poke the bird and make it tweet
(in Jonathan's original analogy). This is quite different from sampling
a signal from a system non-interactively. If you get to ask questions
you can bias answers. So triggering the "bird" to tweet relative to the 
low bandwidth sampling boundary allows us to probe data within the structure
of a signal we could not possibly sample under Nyquist restrictions. 
But a public-facing server would regularly be "tweeting", no?___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] high-frequency birdsong

2016-06-06 Thread Andy Farnell

On Mon, Jun 06, 2016 at 04:03:28PM +, Jonathan Wilkes wrote:
> >  of a signal we could not possibly sample under Nyquist restrictions. 
> But a public-facing server would regularly be "tweeting", no?

Or posting on Facebook? :)
a.


signature.asc
Description: Digital signature
___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] high-frequency birdsong

2016-06-06 Thread Jonathan Wilkes via Pd-list
> Or posting on Facebook? :)
I would hope forward secrecy would put a dent in that plan, but 
I'm not sure.
-Jonathan




On Monday, June 6, 2016 2:36 PM, Andy Farnell  
wrote:
 

 
On Mon, Jun 06, 2016 at 04:03:28PM +, Jonathan Wilkes wrote:
> >  of a signal we could not possibly sample under Nyquist restrictions. 
> But a public-facing server would regularly be "tweeting", no?

Or posting on Facebook? :)
a.

  ___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


[PD] Determine library dependency tree for a patch?

2016-06-06 Thread William Huston
My idea is, I want to distribute a patch.

But I build my patches with layers of abstractions.

So I want to make a recursive map of the dependency tree,
including any external libraries needed, so I can know
what needs to be included when I distribute the patch.

Has anyone tried this?

I will probably do this with an external program,
probably Perl (not within Pd).

First it seems I really need to understand how to
Pd does conflict resolution in case of name clashes.

Next, it seems one must know the search path.

This is a bit easier on Linux systems b/c it just
requires parsing a flat file.

On Windows it requires parsing the Registry
(which I admit is still a big mystery for me).

On My machine, I am finding the search path here:

HKEY_USERS\S-1-5-21-1970324843-3388967453-2642309065-1000\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\Pd\

npath=12 means 12 directories to search, each being
path1=(path1)
path2=(path2)
...
path12=(path12)

I also find this repeated here:

HKEY_USERS\S-1-5-21-1970324843-3388967453-2642309065-1000_Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\Pd

One question is, where does this strange string come from?
Is this guaranteed to be the same on every Windows systems?

S-1-5-21-1970324843-3388967453-2642309065-1000
S-1-5-21-1970324843-3388967453-2642309065-1000_Classes

Ugh. Anyway, just looking for some general guidance here.

Thanks,
BH

-- 
--
May you, and all beings
be happy and free from suffering :)
-- ancient Buddhist Prayer (Metta)
___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] Determine library dependency tree for a patch?

2016-06-06 Thread Lucas Cordiviola
Hi William,
You can include all the externals that you need in your distribution.
You know that pd-vanilla will be there and you supply a folder (probably with 
sub-folders) with all externals (for all platforms if needed).
Then you simply use [declare] 
That`s it.
You can download the zips of the externals with deken or from puredata.info.
Hope this helps,If you need more clarification on how to do this write back.
Or you are trying to do something that I don't understand.
Salutti,Lucarda.
Mensaje telepatico asistido por maquinas.

From: williamahus...@gmail.com
Date: Mon, 6 Jun 2016 16:52:32 -0400
To: pd-list@lists.iem.at
Subject: [PD] Determine library dependency tree for a patch?

My idea is, I want to distribute a patch. 

But I build my patches with layers of abstractions.

So I want to make a recursive map of the dependency tree,
including any external libraries needed, so I can know
what needs to be included when I distribute the patch.

Has anyone tried this?

I will probably do this with an external program,
probably Perl (not within Pd). 

First it seems I really need to understand how to 
Pd does conflict resolution in case of name clashes. 

Next, it seems one must know the search path. 

This is a bit easier on Linux systems b/c it just
requires parsing a flat file. 

On Windows it requires parsing the Registry 
(which I admit is still a big mystery for me).

On My machine, I am finding the search path here:

HKEY_USERS\S-1-5-21-1970324843-3388967453-2642309065-1000\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\Pd\

npath=12 means 12 directories to search, each being
path1=(path1)
path2=(path2)
...
path12=(path12)

I also find this repeated here:

HKEY_USERS\S-1-5-21-1970324843-3388967453-2642309065-1000_Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\Pd
One question is, where does this strange string come from?
Is this guaranteed to be the same on every Windows systems?

S-1-5-21-1970324843-3388967453-2642309065-1000
S-1-5-21-1970324843-3388967453-2642309065-1000_Classes

Ugh. Anyway, just looking for some general guidance here.

Thanks,
BH

-- 
--

May you, and all beings

be happy and free from suffering :)

-- ancient Buddhist Prayer (Metta)



___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list
___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] Determine library dependency tree for a patch?

2016-06-06 Thread William Huston
Yes, my plan is to include whatever abstractions in my own libraries.
But I do not know what those dependencies are!!
That is the problem.

My goal is to have a script or program which can
a) examine an arbitrary patch, (example: "BillsPatch.pd") and
b) examine my Pd runtime environment

... and build a dependency tree. Something like this:

$ perl ShowPdDependencyTree.pl BillsPatch.pd


*BillsPatch.pd*

*|\/home/bh/pd/abstractions/BillVerb~.pd*

*|\-- /home/bh/pd/pd-0.43.4-extended/extra/freeverb.ld*





*|\/home/bh/pd/abstractions/flanger~.pd|
\---/home/bh/pd/abstractions/autophase12~.pd|
\---/home/bh/pd/abstractions/autopan12~.pd|
  \--
/home/bh/pd/pd-0.43.4-extended/extra/flatgui/knob.ld|\/home/bh/pd/abstractions/MultiOsc~.pd*

*|*

*. (etc.)..*

Make sense?
I want this to be able to work anywhere why Pd works (OSX, Windows, Linux).

Thanks,
BH




On Mon, Jun 6, 2016 at 9:30 PM, Lucas Cordiviola 
wrote:

> Hi William,
>
> You can include all the externals that you need in your distribution.
>
> You know that pd-vanilla will be there and you supply a folder (probably
> with sub-folders) with all externals (for all platforms if needed).
>
> Then you simply use [declare]
>
> That`s it.
>
> You can download the zips of the externals with deken or from
> puredata.info.
>
> Hope this helps,
> If you need more clarification on how to do this write back.
>
> Or you are trying to do something that I don't understand.
>
> Salutti,
> Lucarda.
>
> Mensaje telepatico asistido por maquinas.
>
> --
> From: williamahus...@gmail.com
> Date: Mon, 6 Jun 2016 16:52:32 -0400
> To: pd-list@lists.iem.at
> Subject: [PD] Determine library dependency tree for a patch?
>
>
> My idea is, I want to distribute a patch.
>
> But I build my patches with layers of abstractions.
>
> So I want to make a recursive map of the dependency tree,
> including any external libraries needed, so I can know
> what needs to be included when I distribute the patch.
>
> Has anyone tried this?
>
> I will probably do this with an external program,
> probably Perl (not within Pd).
>
> First it seems I really need to understand how to
> Pd does conflict resolution in case of name clashes.
>
> Next, it seems one must know the search path.
>
> This is a bit easier on Linux systems b/c it just
> requires parsing a flat file.
>
> On Windows it requires parsing the Registry
> (which I admit is still a big mystery for me).
>
> On My machine, I am finding the search path here:
>
>
> HKEY_USERS\S-1-5-21-1970324843-3388967453-2642309065-1000\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\Pd\
>
> npath=12 means 12 directories to search, each being
> path1=(path1)
> path2=(path2)
> ...
> path12=(path12)
>
> I also find this repeated here:
>
>
> HKEY_USERS\S-1-5-21-1970324843-3388967453-2642309065-1000_Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\Pd
>
> One question is, where does this strange string come from?
> Is this guaranteed to be the same on every Windows systems?
>
> S-1-5-21-1970324843-3388967453-2642309065-1000
> S-1-5-21-1970324843-3388967453-2642309065-1000_Classes
>
> Ugh. Anyway, just looking for some general guidance here.
>
> Thanks,
> BH
>
> --
> --
> May you, and all beings
> be happy and free from suffering :)
> -- ancient Buddhist Prayer (Metta)
>
> ___ Pd-list@lists.iem.at
> mailing list UNSUBSCRIBE and account-management ->
> https://lists.puredata.info/listinfo/pd-list
>



-- 
--
May you, and all beings
be happy and free from suffering :)
-- ancient Buddhist Prayer (Metta)
___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] [OT] high-frequency birdsong

2016-06-06 Thread Chris McCormick

Hi Jonathan,

On 06/06/16 08:21, Jonathan Wilkes via Pd-list wrote:

I'm trying to wrap my head around this:
http://m.cacm.acm.org/magazines/2016/6/202646-physical-key-extraction-attacks-on-pcs/fulltext

So to answer the question-- yes, the mic has to respond.  So if the
worry is cellphone microphones, I simply don't see how the mic could
deliver any useful data whatsoever to the analysis software.


As Andy pointed out, the situation you describe with the birdsong is not 
analogous this attack and his AM radio for-loop rig on the TRS-80 is 
much closer.


The useful data does not occur in the GHz range: PGP decryption on a 
4096 bit key takes on the order of tens or hundreds of milliseconds. The 
spectrum of that many-millisecond event varies depending on the 
adaptively-crafted cyphertext that has been sent. For each bit of the 
secret a crafted cyphertext is sent which causes the multi-millisecond 
decryption process to yield a recognisable frequency spectrum depending 
on whether the bit of the secret key they are cracking is a 0 or a 1. 
This happens using exactly the mechanism Andy describes - different 
operations executed repeatedly in loops inside the decryption library. 
They also coerce the algorithm to amplify the effect using the same 
technique affecting a different portion of the code.


So they send 4096 individually and adaptively crafted cyphertexts 
designed to provoke the algorithm to behave in one way or another 
depending on whether a 0 or a 1 is present in the secret key at each 
position, and they measure the acoustic frequency spectrum of the 
multi-millisecond decryption of each cyphertext to determine whether 
it's a 0 or 1 at that position.


This works because the decryption algorithm will run different bits of 
code depending upon a) the crafted cyphertext input b) the secret key.


"In some cases, it even suffices to record the target through the 
built-in microphone of a mobile phone placed in proximity to the target 
and running the attacker's mobile app."


I'm guessing the "some cases" where it is possible depend on the quality 
of the phone mic and the level of accoustic leakage of the target device.


> But a public-facing server would regularly be "tweeting", no?

Note that it's not just a matter of the server emitting the "tweets" as 
you describe them - you have to actively prompt it to emit a certain 
type of biased accoustic signature for each bit of the secret key and 
then examine the audio spectrum of the decryption event to see what the 
value of the bit actually was.


The acoustic attack works on any target device that you can compel to 
perform a decryption of some cyphertext multiple times, and that leaks 
accoustic side-band information that you can collect. So you'd need 
physical access to a public-facing server (in which case several other 
classes of attacks may be more feasible) in order to collect the 
acoustic signature.


Although maybe you could do this:

https://news.mit.edu/2014/algorithm-recovers-speech-from-vibrations-0804

The attack in the paper was on GnuPG but if SSH or HTTPS implementations 
are similarly vulnerable to this attack then you could provoke the 
server to perform a decryption several times easily without any human 
intervention since unlike GnuPG those servers decrypt in a completely 
automated way.


They mention OpenSSL explicitly in the conclusion:

"Turning to mobile phones and tablets, as well as to other cryptographic 
libraries (such as OpenSSL and iOS CommonCrypto), electromagnetic key 
extraction from implementations of the Elliptic Curve Digital Signature 
Algorithm has also been demonstrated, including attacks that are 
non-invasive, low-bandwidth, or both."


Dan Bernstein's NaCl crypto library (elliptic curve not prime 
factorization) is specifically designed to avoid some of these pitfalls:


https://cr.yp.to/highspeed/coolnacl-20120725.pdf

"NaCl features: no data flow from secrets to load addresses; no data 
flow from secrets to branch conditions; no padding oracles; centralizing 
randomness; avoiding unnecessary randomness; extremely high speed; and 
cryptographic primitives chosen conservatively

in light of the cryptanalytic literature."

Fascinating paper, thanks for sharing.

Cheers,

Chris.

--
http://mccormick.cx/

___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] [OT] high-frequency birdsong

2016-06-06 Thread Chris McCormick

On 07/06/16 12:22, Chris McCormick wrote:

 > But a public-facing server would regularly be "tweeting", no?

So you'd need physical access to a public-facing server in order to collect the
acoustic signature.


https://www.tau.ac.il/~tromer/acoustic/

Here the same authors mention this attack:

"Send your server to a colocation facility, with a good microphone 
inside the box, and then acoustically extract keys from all nearby servers."


Cheers,

Chris.

--
http://mccormick.cx/

___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] [OT] high-frequency birdsong

2016-06-06 Thread Chris McCormick

On 07/06/16 13:40, Chris McCormick wrote:

On 07/06/16 12:22, Chris McCormick wrote:

 > But a public-facing server would regularly be "tweeting", no?

So you'd need physical access to a public-facing server in order to
collect the
acoustic signature.


https://www.tau.ac.il/~tromer/acoustic/

Here the same authors mention this attack:

"Send your server to a colocation facility, with a good microphone
inside the box, and then acoustically extract keys from all nearby
servers."


Oh and on that same page they address your question directly in a way 
that is far better and more succinct than I did:


Q8: How can low-frequency (kHz) acoustic leakage provide useful 
information about a much faster (GHz)?


Individual CPU operations are too fast for a microphone to pick up, but 
long operations (e.g., modular exponentiation in RSA) can create a 
characteristic (and detectable) acoustic spectral signature over many 
milliseconds. In the chosen-ciphertext key extraction attack, we 
carefully craft the inputs to RSA decryption in order to maximize the 
dependence of the spectral signature on the secret key bits. See also Q18.


For the acoustic channel, we can't just increase the measurement 
bandwidth: the bandwidth of acoustic signals is very low: up to 20 kHz 
for audible signals and commodity microphones, and up to a few hundred 
kHz using ultrasound microphones. Above a few hundred kHz, sound 
propagation in the air has a very short range: essentially, when you try 
to vibrate air molecules so fast they just heat up, instead of moving in 
unison as a sound wave.


Cheers,

Chris.

--
http://mccormick.cx/

___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


[PD] raspberry pi, pd l2ork + i2c

2016-06-06 Thread school shoes
Hello,

Just wondering if someone might be able to suggest the easiest way to send i2c 
messages via pd? I've just bought a raspberry pi 3 and have been playing around 
with pd l2ork and the gpio object which works really well straight out of the 
box, but am unsure about how to communicate with i2c interfaces (in this case a 
servo pi hat).

many thanks in advance -

s s
___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list