--- a/ontologies/cert.n3 Tue Feb 19 09:42:42 2013 +0100
+++ b/ontologies/cert.n3 Fri Mar 22 23:47:11 2013 +0100
@@ -36,7 +36,6 @@
public key
*
Todo:
- - add some classes and relations for DSA
- should this all be in one file? Or should this be cut up a little? Say one file for the general CERT ontology, and then files for RSA, DSA, PGP, etc... Or perhaps it does not really matter?
- expand more on the certification side of things
- verify this by security experts
@@ -77,12 +76,6 @@
rdfs:subClassOf :Certificate;
owl:equivalentClass wot:PubKey;
rdfs:comment "the class of PGP Certificates"@en .
-
-:Signature a owl:Class;
- rdfs:label "Signature";
- rdfs:isDefinedBy <cert#>;
- vs:term_status "unstable";
- rdfs:comment "the class of signtatures"@en .
:Key a owl:Class;
vs:term_status "unstable";
@@ -197,18 +190,58 @@
The union of the public and private components of an RSAKey.
Usually those pieces are not kept together
"""@en.
+
+:DSAKey a owl:Class;
+ rdfs:label "DSA Key"@en;
+ rdfs:isDefinedBy <cert#>;
+ rdfs:subClassOf :Key;
+ vs:term_status "unstable";
+ rdfs:comment """
+ The union of the public and private components of an DSAKey.
+ Usually those pieces are not kept together
+ """@en.
:RSAPublicKey a owl:Class;
rdfs:label "RSA Public Key"@en;
rdfs:isDefinedBy <cert#>;
rdfs:subClassOf :PublicKey, :RSAKey;
vs:term_status "unstable";
- rdfs:seeAlso <http://en.wikipedia.org/wiki/RSA>;
+ rdfs:seeAlso <http://en.wikipedia.org/wiki/RSA_%28algorithm%29>;
rdfs:comment """
The RSA public key. Padded message m are encrypted by applying the function
modulus(power(m,exponent),modulus)
"""@en .
+:RSAPrivateKey a owl:Class;
+ rdfs:label "RSA Private Key"@en;
+ rdfs:isDefinedBy <cert#>;
+ rdfs:subClassOf :PrivateKey, :RSAKey;
+ vs:term_status "unstable";
+ rdfs:seeAlso <http://en.wikipedia.org/wiki/RSA_%28algorithm%29>;
+ rdfs:comment """
+ The RSA private key.
+ """@en .
+
+:DSAPublicKey a owl:Class;
+ rdfs:label "DSA Public Key"@en;
+ rdfs:isDefinedBy <cert#>;
+ rdfs:subClassOf :PublicKey, :DSAKey;
+ vs:term_status "unstable";
+ rdfs:seeAlso <http://en.wikipedia.org/wiki/Digital_Signature_Algorithm>;
+ rdfs:comment """
+ The DSA public key.
+ """@en .
+
+:DSAPrivateKey a owl:Class;
+ rdfs:label "DSA Private Key"@en;
+ rdfs:isDefinedBy <cert#>;
+ rdfs:subClassOf :PrivateKey, :DSAKey;
+ vs:term_status "unstable";
+ rdfs:seeAlso <http://en.wikipedia.org/wiki/Digital_Signature_Algorithm>;
+ rdfs:comment """
+ The DSA private key.
+ """@en .
+
:modulus a owl:DatatypeProperty;
rdfs:label "modulus"@en;
rdfs:isDefinedBy <cert#>;
@@ -225,7 +258,7 @@
<p>The only difference is that the octet string is then encoded using either xsd:base64Binary or xsd:hexBinary. Currently for all usages of this relation, the xsd:hexBinary datatype should be used until the SPARQL working group specifies specifies in its <a href="http://www.w3.org/TR/sparql11-entailment/#DEntRegime">D-Entailment</a> that those two types are equivalent.</p>
<p>It would have been better had there been a hexInteger datatype that was standard and supported by all tools.</p>
"""@en;
- rdfs:domain :RSAKey, :DSAKey;
+ rdfs:domain :RSAKey;
rdfs:range xsd:hexBinary, xsd:base64Binary .
:exponent a owl:DatatypeProperty;
@@ -252,3 +285,54 @@
rdfs:domain :RSAPrivateKey;
rdfs:range xsd:nonNegativeInteger .
+
+:p a owl:DatatypeProperty;
+ rdfs:label "prime modulus"@en;
+ rdfs:isDefinedBy <cert#>;
+ vs:term_status "unstable";
+ rdfs:comment """
+a prime modulus meeting the Digital Signature Standard requirements
+ """@en;
+ rdfs:domain :DSAPublicKey;
+ rdfs:range xsd:hexBinary, xsd:base64Binary .
+
+:q a owl:DatatypeProperty;
+ rdfs:label "prime divisor"@en;
+ rdfs:isDefinedBy <cert#>;
+ vs:term_status "unstable";
+ rdfs:comment """
+an integer in the range 2**159 < q < 2**160
+ """@en;
+ rdfs:domain :DSAPublicKey;
+ rdfs:range xsd:hexBinary, xsd:base64Binary .
+
+:g a owl:DatatypeProperty;
+ rdfs:label "generator"@en;
+ rdfs:isDefinedBy <cert#>;
+ vs:term_status "unstable";
+ rdfs:comment """
+an integer with certain properties with respect to P and Q
+ """@en;
+ rdfs:domain :DSAPublicKey;
+ rdfs:range xsd:hexBinary, xsd:base64Binary .
+
+:y a owl:DatatypeProperty;
+ rdfs:label "part of public key"@en;
+ rdfs:isDefinedBy <cert#>;
+ vs:term_status "unstable";
+ rdfs:comment """
+G**X mod P
+ """@en;
+ rdfs:domain :DSAPublicKey;
+ rdfs:range xsd:hexBinary, xsd:base64Binary .
+
+:x a owl:DatatypeProperty;
+ rdfs:label "private key"@en;
+ rdfs:isDefinedBy <cert#>;
+ vs:term_status "unstable";
+ rdfs:comment """
+part of the private key
+ """@en;
+ rdfs:domain :DSAPrivateKey;
+ rdfs:range xsd:hexBinary, xsd:base64Binary .
+