This repository has been archived by the owner on Feb 8, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsignhash-whitepaper.tex
91 lines (60 loc) · 2.45 KB
/
signhash-whitepaper.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
\documentclass[9pt,oneside]{amsart}
\usepackage[a4paper,width=170mm,top=18mm,bottom=22mm,includeheadfoot]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{multicol}
\input{version.tex}
\title{
SignHash: A Secure File Signing On Ethereum Blockchain \\
{\smaller \textbf{Revision (\WhitePaperVersionNumber{})}}
}
\author{
Jakub Stefanski\\
Founder, SignHash\\
code@jakubstefanski.com
}
\begin{document}
\begin{abstract}
Hashing file contents is an effective way to generate its unique and compact fingerprint.
It allows to identify the file and reveal any tampering with its contents.
SignHash moves the hashes to the blockchain utilizing its cryptographical security and immutability.
Furthermore, it provides a set of tools making both signing and verifying files user-friendly and secure.
\end{abstract}
\maketitle
\setlength{\columnsep}{20pt}
\begin{multicols}{2}
\section{Introduction}
The first part of this paper describes the concept of file hashing, digital signatures and their importance in today's world.
The second part presents a new signing protocol proposed in SignHash.
\section{Secure file signing}
\subsection{File Hashing}
A hash function maps data of arbitrary size to data of fixed size.
The returned values are often called hashes.
A hash value has following properties:
\begin{list}{-}{}
\item has fixed, small size (128, 256, 512 bits)
\item is deterministic (the same input generates the same output)
\item resists collisions and preimages
\end{list}
In other words, a hash function generates a unique value that is always the same for a given file.
However, it is impossible to find a file that generates the given output.
There is also an extremely low probability of finding two files with the same hash.
Therefore a hash value can be used to:
\begin{list}{-}{}
\item ensure file integrity
\item verify file authenticity
\item uniquely identify the file
\end{list}
A file can be corrupted not only by network errors and software bugs.
It can be modified in transmission or storage by untrusted party, to include malicious code.
This risk is especially significant in the days of cryptocurrencies.
Private keys are a frequent target of hackers, so users need to take care of their system security.
\subsection{Existing solutions}
\subsection{Blockchain usage}
\subsection{Use cases}
\section{Protocol}
\subsection{Identity verification}
\subsection{Smart contracts}
\section{Conclusion}
\end{multicols}
\end{document}