<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Data observation Encryption in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365295#M23935</link>
    <description>&lt;P&gt;Hello!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to ask which is the best technique to encrypt observations in a dataset. For example, currently I am using SHA256 to hash the variable Model in the dataset Cars. However I cannot reverse the Model after it is hashed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there any other efficient way to do the encryption on the observations?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/9262iD30BEF754400624C/image-size/original?v=1.0&amp;amp;px=-1" border="0" alt="CarsDataset.png" title="CarsDataset.png" /&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 08 Jun 2017 09:37:59 GMT</pubDate>
    <dc:creator>Menfragiadakis</dc:creator>
    <dc:date>2017-06-08T09:37:59Z</dc:date>
    <item>
      <title>Data observation Encryption</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365295#M23935</link>
      <description>&lt;P&gt;Hello!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to ask which is the best technique to encrypt observations in a dataset. For example, currently I am using SHA256 to hash the variable Model in the dataset Cars. However I cannot reverse the Model after it is hashed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there any other efficient way to do the encryption on the observations?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/9262iD30BEF754400624C/image-size/original?v=1.0&amp;amp;px=-1" border="0" alt="CarsDataset.png" title="CarsDataset.png" /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jun 2017 09:37:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365295#M23935</guid>
      <dc:creator>Menfragiadakis</dc:creator>
      <dc:date>2017-06-08T09:37:59Z</dc:date>
    </item>
    <item>
      <title>Re: Data observation Encryption</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365303#M23936</link>
      <description>&lt;P&gt;Well, from my understanding, MD5/SHA are almost like signatures - there are a formula there to ensure the data is the same, be it after tranporting or something like that. &amp;nbsp;It is not an encryption device.&lt;/P&gt;
&lt;P&gt;Now it depends on what your trying to achieve here. &amp;nbsp;If you just want to make the data unreadable, a simple formula can do that, then only the person knowing the formula can decipher it. &amp;nbsp;Even something simple like:&lt;/P&gt;
&lt;PRE&gt;data decodes;
  input letter $ code;
datalines;
A 6
B 2
C 8
D 13
E 26
F 1
G 5
;
run;

data _null_;
  set decodes end=last;
  if _n_=1 then call execute('data want; set sashelp.cars;');
  call execute(cats('make=tranwrd(make,"',letter,'","',put(code,best.),'");'));
  if last then call execute('run;');
run;
&lt;/PRE&gt;
&lt;P&gt;Can encrypt a column and only the person who had the decodes dataset would be able to read it - ok, its probably a simple problem to run an algorithm over that particular version to decode it, but this is just an example, you could have a whole matrix of coding.&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jun 2017 10:20:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365303#M23936</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-06-08T10:20:41Z</dc:date>
    </item>
    <item>
      <title>Re: Data observation Encryption</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365311#M23941</link>
      <description>&lt;P&gt;Actually, MD5/SHA256 does encrypt as&amp;nbsp; well, but it isn't super secure.&lt;/P&gt;
&lt;P&gt;But you say "observation". Do&amp;nbsp;you mean all observation, whole observations? Or just specific variables/columns?&lt;/P&gt;
&lt;P&gt;And you can encrypt whole data&amp;nbsp;sets if you wish, and it can be encrypted by the user/programs that knows the key.&lt;/P&gt;
&lt;P&gt;Other&amp;nbsp;options including&amp;nbsp;creating your own algorithms, like&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.sas.com/resources/papers/proceedings10/108-2010.pdf" target="_blank"&gt;http://support.sas.com/resources/papers/proceedings10/108-2010.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Or take look at SAS Federation Server, which has standard functionality for data masking.&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jun 2017 10:47:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365311#M23941</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2017-06-08T10:47:08Z</dc:date>
    </item>
    <item>
      <title>Re: Data observation Encryption</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365314#M23943</link>
      <description>&lt;P&gt;Thank you both for your replies!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The reason that I need encryption is to make data unreadable to users (the data that we need to encrypt are phone numbers). So, in a dataset with several columns (Customer Name, Address, Several KPIs) there are also specific columns with phone numbers that we need to make unreadable.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Currently, as I have aforementioned, I use hash functions (SHA256) and I was wondering if there is any similar function to do the encryption, and ideally the decipher, easily.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have found several algorithms to do so, but I asked also here so as to have a second opinion and if there is something more specific!&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jun 2017 10:57:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365314#M23943</guid>
      <dc:creator>Menfragiadakis</dc:creator>
      <dc:date>2017-06-08T10:57:11Z</dc:date>
    </item>
    <item>
      <title>Re: Data observation Encryption</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365315#M23944</link>
      <description>&lt;P&gt;This maybe a dumb question but why cant you just remove or mask the phone numbers from the columns rather than encrypting them?&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jun 2017 11:03:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365315#M23944</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2017-06-08T11:03:15Z</dc:date>
    </item>
    <item>
      <title>Re: Data observation Encryption</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365319#M23945</link>
      <description>The reason that I cannot remove the phone numbers is that we need to join several tables on the specific fields. What do you mean by masking the phone numbers?</description>
      <pubDate>Thu, 08 Jun 2017 11:16:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365319#M23945</guid>
      <dc:creator>Menfragiadakis</dc:creator>
      <dc:date>2017-06-08T11:16:51Z</dc:date>
    </item>
    <item>
      <title>Re: Data observation Encryption</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365335#M23948</link>
      <description>&lt;P&gt;Here is a very simple example.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let offset=1;

data _null_;
original='you think you know me';
put original=;

length encrypt $ 40;
do i=1 to lengthn(original);
 substr(encrypt,i,1)=byte(rank(char(original,i))+&amp;amp;offset);
end;
put encrypt=;

length decrypt $ 40;
do i=1 to lengthn(encrypt);
 substr(decrypt,i,1)=byte(rank(char(encrypt,i))-&amp;amp;offset);
end;
put decrypt=;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 08 Jun 2017 12:35:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365335#M23948</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-06-08T12:35:07Z</dc:date>
    </item>
    <item>
      <title>Re: Data observation Encryption</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365536#M23955</link>
      <description>&lt;P&gt;By masking I mean you would replace the phone numbers with something like X's. If these fields are required for joining, why can't you do your joining first, then mask or remove&amp;nbsp;afterwards?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Perhaps I'm not understanding your issues correctly - I just think there may be an easier way than encryption.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jun 2017 21:42:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365536#M23955</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2017-06-08T21:42:02Z</dc:date>
    </item>
    <item>
      <title>Re: Data observation Encryption</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365616#M23968</link>
      <description>&lt;P&gt;If you encrypt/encode your columns, you can store a translation table in a safe place.&lt;/P&gt;
&lt;P&gt;Another option would be to use surrogate keys, but that requires a little more coding to get in place.&lt;/P&gt;
&lt;P&gt;Yet another option is to metabound your library, and then create a view(s) pointing to the original tables. And the view can leave out the sensitive data.&lt;/P&gt;
&lt;P&gt;Or, move to a data store that support columns level authorization, such as SPD Server or any(?) external RDBMS.&lt;/P&gt;</description>
      <pubDate>Fri, 09 Jun 2017 08:12:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Data-observation-Encryption/m-p/365616#M23968</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2017-06-09T08:12:40Z</dc:date>
    </item>
  </channel>
</rss>

