Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F97133837
DGK_scheme.html
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Thu, Jan 2, 19:45
Size
19 KB
Mime Type
text/html
Expires
Sat, Jan 4, 19:45 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
23335024
Attached To
R3229 Genome Privacy - SHCS App
DGK_scheme.html
View Options
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_17) on Fri Jan 10 14:26:18 CET 2014 -->
<title>DGK_scheme</title>
<meta name="date" content="2014-01-10">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="DGK_scheme";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DGK_scheme.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../deprecated-list.html">Deprecated</a></li>
<li><a href="../index-files/index-1.html">Index</a></li>
<li><a href="../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../DGK_crypto_scheme/DGK_key_generator.html" title="class in DGK_crypto_scheme"><span class="strong">Prev Class</span></a></li>
<li><a href="../DGK_crypto_scheme/Test.html" title="class in DGK_crypto_scheme"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?DGK_crypto_scheme/DGK_scheme.html" target="_top">Frames</a></li>
<li><a href="DGK_scheme.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary: </li>
<li>Nested | </li>
<li><a href="#field_summary">Field</a> | </li>
<li><a href="#constructor_summary">Constr</a> | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li><a href="#field_detail">Field</a> | </li>
<li><a href="#constructor_detail">Constr</a> | </li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">DGK_crypto_scheme</div>
<h2 title="Class DGK_scheme" class="title">Class DGK_scheme</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>DGK_crypto_scheme.DGK_scheme</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">DGK_scheme</span>
extends java.lang.Object</pre>
<dl><dt><span class="strong">Author:</span></dt>
<dd>raisaro</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.lang.Boolean</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#canDecrypt">canDecrypt</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.math.BigInteger</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#g">g</a></strong></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.math.BigInteger</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#h">h</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#k">k</a></strong></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#l">l</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.math.BigInteger</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#n">n</a></strong></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.math.BigInteger</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#p">p</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.math.BigInteger</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#pp_inv">pp_inv</a></strong></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.math.BigInteger</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#q">q</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.math.BigInteger</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#qq_inv">qq_inv</a></strong></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.lang.Boolean</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#secretKeyValid">secretKeyValid</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#t">t</a></strong></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.math.BigInteger</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#u">u</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.math.BigInteger</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#vpvq">vpvq</a></strong></code> </td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#DGK_scheme(java.math.BigInteger[], java.math.BigInteger[], int, int, int)">DGK_scheme</a></strong>(java.math.BigInteger[] pk,
java.math.BigInteger[] sk,
int ka,
int ti,
int ell)</code> </td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#DGK_scheme(java.math.BigInteger[], int, int, int)">DGK_scheme</a></strong>(java.math.BigInteger[] pk,
int ti,
int ell,
int ka)</code> </td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.math.BigInteger</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#decryption(java.math.BigInteger)">decryption</a></strong>(java.math.BigInteger cipher)</code>
<div class="block">DGK Decryption.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#decryptionZero(java.math.BigInteger)">decryptionZero</a></strong>(java.math.BigInteger cipher)</code>
<div class="block">DGK "zero decryption".</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#decryptionZeroCRT(java.math.BigInteger)">decryptionZeroCRT</a></strong>(java.math.BigInteger cipher)</code>
<div class="block">DGK "zero decryption".</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.math.BigInteger</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#ecryptionCRT(java.math.BigInteger)">ecryptionCRT</a></strong>(java.math.BigInteger message)</code>
<div class="block">DGK encryption using CRT for the owner of the private key.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.math.BigInteger</code></td>
<td class="colLast"><code><strong><a href="../DGK_crypto_scheme/DGK_scheme.html#encryption(java.math.BigInteger)">encryption</a></strong>(java.math.BigInteger message)</code>
<div class="block">Standard DGK encryption</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="k">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>k</h4>
<pre>private int k</pre>
</li>
</ul>
<a name="t">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>t</h4>
<pre>private int t</pre>
</li>
</ul>
<a name="l">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>l</h4>
<pre>private int l</pre>
</li>
</ul>
<a name="n">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>n</h4>
<pre>private java.math.BigInteger n</pre>
</li>
</ul>
<a name="g">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>g</h4>
<pre>private java.math.BigInteger g</pre>
</li>
</ul>
<a name="h">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>h</h4>
<pre>private java.math.BigInteger h</pre>
</li>
</ul>
<a name="u">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>u</h4>
<pre>private java.math.BigInteger u</pre>
</li>
</ul>
<a name="canDecrypt">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>canDecrypt</h4>
<pre>private java.lang.Boolean canDecrypt</pre>
</li>
</ul>
<a name="p">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>p</h4>
<pre>private java.math.BigInteger p</pre>
</li>
</ul>
<a name="q">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>q</h4>
<pre>private java.math.BigInteger q</pre>
</li>
</ul>
<a name="vpvq">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>vpvq</h4>
<pre>private java.math.BigInteger vpvq</pre>
</li>
</ul>
<a name="secretKeyValid">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>secretKeyValid</h4>
<pre>private java.lang.Boolean secretKeyValid</pre>
</li>
</ul>
<a name="pp_inv">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pp_inv</h4>
<pre>private java.math.BigInteger pp_inv</pre>
</li>
</ul>
<a name="qq_inv">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>qq_inv</h4>
<pre>private java.math.BigInteger qq_inv</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="DGK_scheme(java.math.BigInteger[], java.math.BigInteger[], int, int, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DGK_scheme</h4>
<pre>public DGK_scheme(java.math.BigInteger[] pk,
java.math.BigInteger[] sk,
int ka,
int ti,
int ell)</pre>
</li>
</ul>
<a name="DGK_scheme(java.math.BigInteger[], int, int, int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DGK_scheme</h4>
<pre>public DGK_scheme(java.math.BigInteger[] pk,
int ti,
int ell,
int ka)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="encryption(java.math.BigInteger)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encryption</h4>
<pre>public java.math.BigInteger encryption(java.math.BigInteger message)</pre>
<div class="block">Standard DGK encryption</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>message</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd>E[message, r] = cipher</dd></dl>
</li>
</ul>
<a name="ecryptionCRT(java.math.BigInteger)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ecryptionCRT</h4>
<pre>public java.math.BigInteger ecryptionCRT(java.math.BigInteger message)
throws <a href="../crypto_scheme/CryptoException.html" title="class in crypto_scheme">CryptoException</a></pre>
<div class="block">DGK encryption using CRT for the owner of the private key. It is faster
than the standard DGK encryption.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>message</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd>E[message, r] = cipher</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../crypto_scheme/CryptoException.html" title="class in crypto_scheme">CryptoException</a></code></dd></dl>
</li>
</ul>
<a name="decryptionZero(java.math.BigInteger)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decryptionZero</h4>
<pre>public boolean decryptionZero(java.math.BigInteger cipher)
throws <a href="../crypto_scheme/CryptoException.html" title="class in crypto_scheme">CryptoException</a></pre>
<div class="block">DGK "zero decryption".
This method only checks if or not the ciphertext is an encryption of zero, or not</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cipher</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd>true if the cipher is an encryption of zero, false otherwise</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../crypto_scheme/CryptoException.html" title="class in crypto_scheme">CryptoException</a></code></dd></dl>
</li>
</ul>
<a name="decryptionZeroCRT(java.math.BigInteger)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decryptionZeroCRT</h4>
<pre>public boolean decryptionZeroCRT(java.math.BigInteger cipher)
throws <a href="../crypto_scheme/CryptoException.html" title="class in crypto_scheme">CryptoException</a></pre>
<div class="block">DGK "zero decryption". Using CRT.
This method only checks if or not the ciphertext is an encryption of zero, or not</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cipher</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd>true if the cipher is an encryption of zero, false otherwise</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../crypto_scheme/CryptoException.html" title="class in crypto_scheme">CryptoException</a></code></dd></dl>
</li>
</ul>
<a name="decryption(java.math.BigInteger)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>decryption</h4>
<pre>public java.math.BigInteger decryption(java.math.BigInteger cipher)
throws <a href="../crypto_scheme/CryptoException.html" title="class in crypto_scheme">CryptoException</a></pre>
<div class="block">DGK Decryption.
This method can be used for decryption</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cipher</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../crypto_scheme/CryptoException.html" title="class in crypto_scheme">CryptoException</a></code></dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DGK_scheme.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../deprecated-list.html">Deprecated</a></li>
<li><a href="../index-files/index-1.html">Index</a></li>
<li><a href="../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../DGK_crypto_scheme/DGK_key_generator.html" title="class in DGK_crypto_scheme"><span class="strong">Prev Class</span></a></li>
<li><a href="../DGK_crypto_scheme/Test.html" title="class in DGK_crypto_scheme"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?DGK_crypto_scheme/DGK_scheme.html" target="_top">Frames</a></li>
<li><a href="DGK_scheme.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary: </li>
<li>Nested | </li>
<li><a href="#field_summary">Field</a> | </li>
<li><a href="#constructor_summary">Constr</a> | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li><a href="#field_detail">Field</a> | </li>
<li><a href="#constructor_detail">Constr</a> | </li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
Event Timeline
Log In to Comment