1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
 
   2   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
 
   4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
 
   6   <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
 
   7   <meta name="keywords" content="SMS, SaveMySugar, morse code, phone ring, modem" />
 
   8   <meta name="copyright" content="Copyright 2015 Antonio Ospite, some rights reserved" />
 
   9   <meta name="description" content="SaveMySugar, Exchange messages using phone rings" />
 
  10   <meta name="author" content="Antonio Ospite" />
 
  11   <meta name="language" content="en" />
 
  12   <meta name="robots" content="noindex, nofollow" />
 
  14   <title>SMS: Save My Sugar</title>
 
  15   <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
 
  16   <link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
 
  17   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 
  21   <div id="header" class="block">
 
  22     <a id="logo" href="/" title="Save My Sugar"><img src="images/logo.png" alt="Save My Suger logo" /></a>
 
  24     <h1><a href="/">Save My Sugar</a></h1>
 
  26     <p>So you've always thought <acronym title="Short Message Service">SMS</acronym> meant <a title="Wikipedia: SMS" href="http://en.wikipedia.org/wiki/SMS">Short Message Service</a>, haven't you?<br />
 
  27     From now on it means <strong>Save My Sugar</strong>!</p>
 
  30   <div id="main-content">
 
  31     <div id="what" class="block">
 
  34       <p><strong>SaveMySugar</strong> is an experiment about sending short messages using the <strong>phone ring</strong> as a <a href="http://en.wikipedia.org/wiki/Covert_channel" title="Wikipedia: Covert Channel">covert channel</a>.</p>
 
  36       <p>Another classic example of using a covert channel is <a href="http://en.wikipedia.org/wiki/Port_knocking" title="Wikipedia: Port Knocking">Port knocking</a>.</p>
 
  38       <p><strong>SaveMySugar</strong> uses the distance between phone calls to represent <a href="http://en.wikipedia.org/wiki/Morse_code" title="Wikipedia: Morse code">Morse code</a> symbols.</p>
 
  40       <p>The idea of using phone rings to send information is not new, it was already used by the very cool <a href="http://freshmeat.net/projects/xringd/" title="Freshmeat: Xringd">xringd</a> project by Angelo Haritsis.</p>
 
  42       <p>Someone else also proposed it on <a href="http://www.halfbakery.com/idea/Sending_20SMS_20for_20FREE_20using_20MORSE" title="Half Bakery - Sending SMS for FREE using MORSE">Half Bakery</a>.</p>
 
  44       <p>However there seems to be no implementation of the technique for exchanging text messages, and that's what <strong>SaveMySugar</strong> is about.</p>
 
  46       <p>The name <strong>SaveMySugar</strong> was born as a take on the price of the old conventional Texting service which is quite high, see <a href="http://web.archive.org/web/20121030162247/http://gthing.net/the-true-price-of-sms-messages/" title="Wayback Machine: The True Price of SMS Messages">The True Price of SMS Messages</a>, and it is also a reference to the distress signal <em>Save Our Soul</em> (SOS) used in Morse communications.</p>
 
  49     <div id="why" class="block">
 
  52       <p>There are several reasons why you may want to try <strong>SaveMySugar</strong>:</p>
 
  55         <li>Just because you can, and it is fun.</li>
 
  57         <li>It is a possible way to send a short message for free.</li>
 
  59         <li>It's beautifully slow.</li>
 
  64       <p><strong>SaveMySugar</strong> has some limitations:</p>
 
  67         <li>It's awfully slow.</li>
 
  69         <li>Phone rings keep the line busy.</li>
 
  71         <li>On mobile phones a ring uses a lot of battery, and battery is a precious resource.</li>
 
  73         <li>On mobile phones a lot of fake calls will pollute you calls log.</li>
 
  75         <li>On mobile phones a malicious recipient can make you pay at every ring!</li>
 
  77         <li>If everyone used it, it might end up like <a href="https://youtu.be/doAnB5_eDnw?t=10m11s" title="YouTube: The Lawnmower Man - Ending">this</a>.</li>
 
  80       <p>However it is still fun nonetheless.</p>
 
  83     <div id="where" class="block">
 
  86       <p>You can find a prototype implementation written in python called <a href="http://git.ao2.it/SaveMySugar/python3-savemysugar.git/" title="git.ao2.it - python3-savemysugar">python3-savemysugar</a>.</p>
 
  88       <p>There is also a prototype Android app <a href="files/SaveMySugar-0.1-debug.apk" title="SaveMySugar-0.1-debug.apk">SaveMySugar-0.1-debug.apk</a>, its source code is in the <a href="http://git.ao2.it/SaveMySugar/android-savemysugar.git/" title="git.ao2.it - android-savemysugar">android-savemysugar</a> repository.</p>
 
  90       <p>Contact <a href="http://ao2.it/contact" title="Antonio Ospite: contact">Antonio Ospite</a> if you want to discuss about porting <strong>SaveMySugar</strong> to other platforms.</p>
 
  93     <div id="who" class="block">
 
  96       <p>From an idea by Corrado Rubera.<br />
 
  97       <strong>SaveMySugar</strong> was realized by <a href="http://ao2.it" title="Antonio Ospite">Antonio Ospite</a>.</p>
 
 100     <div id="how" class="block">
 
 103       <p>This is how a message is transmitted with <strong>SaveMySugar</strong>:</p>
 
 106         <li>The characters in the message are encoded in Morse signals.</li>
 
 108         <li>Every symbol of each signal is mapped to a time interval.</li>
 
 110         <li>Phone calls are distanced in time according to the intervals from above.</li>
 
 113       <p>On the receiving side the symmetric operations are performed when phone rings are detected.</p>
 
 115       <p>This is basically a <em>Pulse-Distance Modulation</em> (PDM), this scheme has been chosen because it's easy to detect when a phone starts ringing, but it's not always easy to detect for how log it rings, or how many rings there are in a single call.</p>
 
 117       <p>See an example of the exchange of the message <code>CODEX</code>:<br />
 
 118       <a href="images/savemysugar_plot_codex.png" title="SaveMySugar exchanging the message 'CODEX'"><img src="images/savemysugar_plot_codex.png" alt="SaveMySugar exchanging the message 'CODEX'" /></a></p>
 
 120       <p>See an example of the exchange of the message <code>Save My Sugar</code>:<br />
 
 121       <a href="images/savemysugar_plot_savemysugar.png" title="SaveMySugar exchanging the message 'SaveMySugar'"><img src="images/savemysugar_plot_savemysugar.png" alt="SaveMySugar exchanging the message 'Save My Sugar'" /></a></p>
 
 123       <p>Morse code has been chosen because it is well known and serves very well the purpose of showing the technique.</p>
 
 125       <p>In order for the exchange of the message to work symbols must be differentiated, so they must have different distances.</p>
 
 127       <p>However the time between when the transmitter places a call and when the receiver gets the correspondent ring is not constant, so this “noise” must be taken into account by the receiver. This noise can have a quite high variability but can be usually upper and lower bounded, so a reasonably robust communication is still possible. Basically the noise is used to characterize the symbol distances.</p>
 
 129       <p>See an example of best-case and worst-case symbol distances:<br />
 
 130       <a href="images/symbols_distances.png" title="SaveMySugar symbols distances"><img src="images/symbols_distances.png" alt="SaveMySugar symbols distances" /></a></p>
 
 135   <div id="footer" class="block">
 
 136       <p style="margin: 0pt; font-size: small; line-height: 1.2em;"><a title="Creative Commons: Attribution Share Alike" href="http://creativecommons.org/licenses/by-nc-sa/2.5/it/"><img src="images/CC_by-nc-sa_2.5_it_88x31.png" style="border-width: 0pt; float: left; margin-right: 0.5em;" alt="Creative Commons License" /></a> Unless where stated otherwise,<br /> this work is published under a <a title="Creative Commons: Attribution Share Alike" href="http://creativecommons.org/licenses/by-nc-sa/2.5/it/">Creative Commons License</a>.</p>