YULL ENCRYPTION PRO


GUIDE TO YULL


There are two versions of YULL: YULL.EXE, the Console application and YULLG.EXE, the GUI app. They work in a similar way, so it's your choice which one better fits your requirements. Files encrypted with one can be decrypted with the other.

The self-extracting zip file which contains both of the executables also contains many other files and a folder which will assist you in getting up to speed with Yull.

There are 116 files in the SAMPLESOURCEFILES folder. You can modify these files as you wish, or not use them at all or delete them completely. They are there so you can practice with YULL without impacting your own files.

Yull encrypts and decrypts files. For encrypting, Yull takes your source file and outputs an encrypted file. Yull does not care what the source file is. It can be a jpg, a PDF, a text file, a web page, a Word file, or some other file. It doesn't matter. Yull treats all files the same.

The encrypted file will normally end in .OUT but you can change that if you want. For decrypting, Yull takes your encrypted file and outputs a decrypted file. If the encrypted file ends in .OUT, Yull will normally remove that extension. Yull can operate anywhere on your computer. If its location is on the PATH then you need only run it. Otherwise, like any other executable, you need the complete path to Yull (either version).

Because encrypting and decrypting are such critical functions, Yull always requires a complete path to your source file. You will see how the file paths can be also constructed from the options file (discussed shortly).

The four elements Yull uses are the source file, the output directory, the key and the options. It is easy to see and modify the options in the GUI app. They are on the options tab. Also, in most places, F1 will bring up a help screen about where you are.

YULL is very CPU intensive. Your CPU (or Core) will go to 100% while Yull encrypts or decrypts. Also, note that Yull can run a file through millions, even billions of encryptions. This can take some time. YULL IS SINGLE-THREADED, meaning it only does one thing at a time. It uses only one core of the machine's CPU. So for the GUI app, when it's busy, the UI will not respond to user commands.

There are LEVELS on the option tab of the GUI app which prepackage the options, basically making a series of tradeoffs, from MAX encryption, meaning lots of encrypts and lots of time, to TINY, which is relatively minimal, to PLANK, which is extremely fast. You can override these options as you please. But if you need MAX level, be prepared to let Yull run for a while.

Here is a comparison of the number of encrypts and times for the file 256, which is 12,288 bytes long (note: results may be different on your computer):


LEVEL      ENCRYPTS       TIME
PLANK         990,829     0.322 seconds
TINY        2,421,090     0.473 seconds
NORMAL     14,815,328     3.333 seconds
MAX        27,024,606     6.626 seconds

Even with the PLANK level, there are almost one million encrypts.

Each time the data enters an encryption function, a counter is incremented. That's how the number of encrypts is counted.

The Distribution

Here are the files included with the distribution: Click here to show files included with the zip distribution.

Setting Up Yull

Yull does not require any setup. There is nothing to install so Yull is ready to go once you have unzipped the files. BUT Yull needs at least a key file in order to work. You could select any file as your key limited only by the size being between 100 and 10000 bytes. Yull encrypts the key before using it (only used at runtime) so even a text file can be used as a key. But with encryption, more randomness is always better, so files created specifically to be a key are the best. You can create such files with Yull.

The easiest way to create your default folder and key is run YULLG, and select Create Default Folder from the Settings Menu and follow the prompts. See "Default Folder and Key" a bit below this.

If you are distributing Yull to many hosts in a company as part of a job you can excute YULL.EXE to do this.

Note also that YULL DOES NOT REQUIRE A CONNECTION TO THE INTERNET. There is a link on the Help Menu to this web page.

Running Yull

Regardless of whether you use YULL.EXE or YULLG.EXE, Yull needs at least to know the source file and its location, the output location and the key. You either supply Yull with the complete path to the source file and the complete path to the output folder (or file), or give YULL enough information to construct it on its own. There are various parameters which will help you do this. If no options are specified, YULL uses the default options which are those for the NORMAL encryption level. But the default options contain no path information.

The same criteria apply to the key. Yull must be able to find the key. Whether it's the default key in the default location or some other place, it cam not run encrypt or decrypt without a key.

Default Folder and Key

You can instruct Yull (both yull.exe and yullg.exe) to create your default folder and key. The folder is located in:

%HOMEPATH%\AppData\Local\YullEncryption.

You can see what your %HOMEPATH% is by running CMD.EXE (the DOS box), typing in ECHO %HOMEPATH% at the prompt and pressing <enter>.

Once Yull creates your default folder you can instruct it to create your default key. This can be a key of any size between 100 and 10,000 bytes (defaults to 1024 bytes). The default key MUST be named <username>.key. Yull will do that for you. If you are logged into Windows as, say, Lucy, your default key is lucy.key. Yull can use the key to encrypt and decrypt files but of course you can use other files for a key (or instruct Yull to create it for you). YOU ALWAYS NEED THE SAME KEY TO ENCRYPT AND DECRYPT. So always guard your key carefully.

NOTE: This only applies to your DEFAULT FOLDER AND KEY. You can use any folders you like and any key you like with the size of the key between 100 and 10,000 bytes. The key can be named anything, even a name like mscorlib32A.DLL so it will seem like a Windows system file. The default folder and key is just for your convenience.

If you don't like using a folder located on your %HOMEPATH%\AppData\Local\YullEncryption, you can add a line to your Options file:

DEFAULTOUTPUTFOLDER=

This will set your default encrypt OUTPUT and your default DECRYPT input folder to the desired location.

You could do this by individually setting your folders, as well.

NOTE: Your default key and your default history file will remain in the default location, %HOMEPATH%\AppData\Local\YullEncryption.

Of course, you and use any file you want as your key in any reachable location (size must be between 100 and 10,000 bytes).

The default options are only there for your convenience. You can ignore them easily. Set your source and output locations as you want.

The Options File

Besides the Key and the Source file and destination folder, Yull uses options. There are default options, meaning, if you don't set any options, Yull sets them. They are required. There are a lot of options. Luckily, Yull can use an Options File. This is just a text file with the options in them, one to a line. There are examples below.

You can easily package your options into an options file when running YullG. With Yull.exe, the Console app, you cannot. Here's an example of an options file:


ENCRYPTSOURCEDIR=x:\test\source
DECRYPTOUTPUTDIR=r:\test\final
LEVEL=TINY
WRITEHISTORY
YULLDECIDESDUMMYDATA
USEDEFAULTKEY
USEDEFAULTFOLDERFORENCRYPTOUTPUT
USEDEFAULTFOLDERFORDECRYPTSOURCE
OVERWRITEMODE=OVERWRITE
ENCRYPTEXTENSION=OUT
MAXBUFFSIZE=40
MINBUFFSIZE=30
MAXROUNDS=60
MINROUNDS=4
READORDER=75
PDATA=Donald Duck
DEFAULTOUTPUTFOLDER=m:\secretfiles

Once this options file is loaded into Yull, it becomes:

The options file was created by the graphical executable YULLG.Exe but it's just a text file. Lines that contain nothing are ignored. Lines that begin with -- are ignored. If Yull cannot parse the first word on the line it will ignore that line.

But if you have a line like: MAXBUFFSIZE=BIG DADDY

Yull will abend the options loading process (in the GUI app) or quit (in the Console app) as it cannot cast "BIG DADDY" to an integer value:

In general YULL is very picky about the options. They are critical and you don't want YULL making guesses. It needs to be done correctly, so YULL will error out when attempting to load or parse an invalid options file. YULL will tell you why there was a failure.

In general, if Yull cannot understand an option (from the options file or the command line), it will abend the options loading process as the user (you) need to be very sure what you are doing.

You must use the same options file for both encrypting and decrypting. The default direction is encryption so to encrypt files with an options file all you need to do (with the Console app) is: yull in=X:\test\256 @options

to encrypt the file "256". "options" is the name of the options file (the name and location are arbitrary). There must be a complete path to the source file and, except for the USEDEFAULTOPTIONS switch, a complete path to the options file.

Note that if the source directory was included in the options file, you would only need this on the command prompt: yull in=256 @options

The Options

Here's the Options and what they represent:

There are two types of options: Switches and Parameters. Switches evaluate to true just by their presence. Parameters are of the form: Parameter=xxx.

Most of the parameters are self-explanatory except for ReadOrder and Dummy Data.

READORDER

This is a numerical parameter that is used to determine the read order. When Yull encrypts (and decrypts) files, it reads the data out of disk, or natural, order. So if a file will be read in 100 reads, Yull determines the order of the reads, in part based on this parameter. It is numeric but there is no sense one value is greater or lesser than another.

LEVEL

There are six possible values: MAX, NORMAL, FAST, NEURO, TINY, and PLANK. When you set them in the GUI, the values for Max and Min Buff Size, Max and Min Rounds, and Read Order will change accordingly. In the above Options file, while the LEVEL is TINY, this options file will overwrite those value with their own, in effect negating the Encryption LEVEL to an extent. Internally, during processing the Encryption Level is evaluated to determine the way the file is processed.

PLANK is defined as: In physics, the Planck length, denoted lP, is a unit of length, equal to 1.616199(97)x10-35 metres. It is a base unit in the system of Planck units, developed by physicist Max Planck. The Planck length can be defined from three fundamental physical constants: the speed of light in a vacuum, the Planck constant, and the gravitational constant. And nothing really much to do with Yull except it seems pretty cool.

If your options are invalid processing will stop.

DUMMY DATA

Yull adds dummy or random data to each read. This is why the encrypted file is larger than the original file. Valid range is 20-100.

Here's the complete options list. Note that the / switches appear in the options file without the /. Their presence evaluates to true for that option.

PDATA

This is Personal Data. It is not a password. You do not have to use PDATA or you do not have to store PDATA in an options file. You can instruct YULL to ask for your PDATA at runtime.

If you do not define your own PDATA, YULL will construct your PDATA from some of your options.

YULL uses your PDATA to encrypt your key at runtime, which happens automatically. That is why just stealing the key and the program is not sufficient. Without your PDATA, the key is useless. Again, you do not have to do anything with PDATA if you don't want to, however it is an important security measure.

You can store your PDATA in the Options file and you can encrypt the options file as well. If you don't store the PDATA but still want to use it, check the ASK FOR PERSONAL DATA and when YULL encrypts or decrypts it will ask you for your PDATA. YULL will NOT validate your PDATA.

See All the Options from the Command Line

If you type YULL on the command line (for the Console Version), you will see this print out to the screen:

All arguments are case-insensitive.


NOTE: ALL PARAMETERS CAN BE PLACED INTO AN OPTIONS FILE SO THE
      COMMAND LINE CAN BE AS SIMPLE AS
      Yull in=file @options
      or Yull in=file /usedefaultoptions.
in=          input file. A simple file spec. Wildcards are accepted.
ENCRYPTSOURCEDIR= The source dir for encryption. Can be omitted if
             the source file contains a complete path.
ENCRYPTOUTPUTDIR= The output dir of encryption.
DECRYPTSOURCEDIR= The source dir for decryption.
DECRYPTOUTPUTDIR= The output dir for decryption.
/encrypt      Encrypt (the default)
/decrypt      Decrypt
key=          the key. The complete path to the key.
maxrounds=    A positive integer that indicates the maximum number of rounds.
minrounds=    A positive integer that indicates the minimum number of rounds.
keysize=      A positive integer that indicates the key size
              Only used if no key file is specified.
keydir=       The full path to the key directory if you want Yull to create
              the key and put it in that folder. Only used during encryption.
*****if you overwrite it those encrypted files will be
*****undecryptable.

maxbuffsize=  	Specify the maximum size of the read buffer.
minbuffsize=  	Specify the minimum size of the read buffer.
dummydataamount=  	Specify the amount of dummy data added to each read.
defaultencryptext= 	Specify the default encryption extension. Otherwise it is "OUT".
defaultdecryptext= 	Specify the default decryption extension.
readOrder=		A number between 3 and 254. Used to configure the read order.
pdata = 		Your personal data. See yullencrytion.com/Guide. Limited to 200 characters.
/askpdata		Yull will ask you to supply your personal data to encrypt the key. Not stored.
LEVEL=  		This is the Encryption Level. It can take one of 5 value:
   FAST      	 	   Yull will decide the buff size and rounds biased toward speed.
   MAX        	   Yull will decide the buff size ands rounds biased toward maximum security.
   NORMAL              This is the default. Between FAST and MAX.
   NEURO               This is a faster mode. Everything biased towards speed.
   TINY                This is the second fastest mode.
   PLANK 			   This is the fastest mode.
/YullDecidesDummyData
/NoQuestions        Yull will not ask you questions.
/UseDefaultKey      If you have created a default key. If not you can use
                    the command: createdefaultKey
                    See http://YullEncryption.com/Guide and search for Default Key
/createDefaultKey   See http://YullEncryption.com/Guide and search for
Default Key        (ONLY FOR CONSOLE VERSION)
/createKey	        Yull will just create a key (specified by the Key=name parameter
                    and then quit.

/useDefaultFolder   Use your default user folder for output.
/createDefaultFolder  See http://YullEncryption.com/Guide and search for
                      Default Folder (ONLY FOR CONSOLE VERSION)
/encryptOptions      Encrypt your options file. See http://YullEncryption/Guide# for more on this.
                     Will encrypt the default options file.
			         (ONLY FOR CONSOLE VERSION)
/decryptOptions      Decrypt your options file. See http://YullEncryption/Console for more on this.
			        (ONLY FOR CONSOLE VERSION)
/silent      		If present, no logged output. BUT, exceptions will be displayed.
/totallysilent       Nothing is displayed, not even exceptions.
/shred              Yull deletes the original file by overwriting it with random values several
			times, then truncating it, then deleting it.

AGAIN, the / only is used when the option appears on the Console command line. like this:

yull in=x:\source\256 /encrypt key=x:\key\256.key /noquestions

If the swithes are used in the options file, then DON'T USE THE /.

In the above command line, Yull will take the file named 256 in the x:\source directory and encrypt it using the key 256.key in the x:\key directory. Note that these names have no meaning. You do not have to associate the key with the source file by name. You could use any file for a key as long as it is at least 100 bytes long and no more than 10000 bytes long.

NOTE: Yull encrypts your key when it starts so a large key file will take a while (meaning 1-2 seconds) to encrypt and add to the time. Yull does not save the encrypted key file; it's just used internally.

You can see from the above sample command line, Yull uses = parameters and / switches. /switches only indicate presence of the parameter. = parameters are those which take values. Yull supports 19 possible switches and 18 parameters.

I have included xvi32.exe, a HEX viewer I got from the web (and use in this way with permission of the author). You can see the files like 256 etc. are just composed of 0x00 0x01 0x02 0x03 etc. very orderly so it is easy to see if Yull makes a mistake. I used them heavily during the creation phase of Yull. You can use them to see how Yull runs against a large number of files.

WHILE there are many options and their meaning is hopefully obvious, the main reason they are there is to make brute force decryption impossible.

The two primary options that affect the depth of encryption are the read buffer size and the rounds. The read buffer size is the amount of data Yull will read at one time. If your file is, say, 10000 bytes long, Yull will not read it all in at one time. The max read size is 600 bytes. Once the read is made the data is submitted to the encryption class. This class iterates over the key, selecting an encryption function based on the current value of the key. Some encryption functions call others. Their operation is complex. The user cannot set the read size directly. It is calculated based on the Max Size, the Min Size, the Encryption Level and the key.

The other value which affects the depth of encryption is ROUNDS. As with the read size, you cannot set the ROUNDS value directly. It is calculated based on the MaxRounds, MinRounds, the Encryption Level and the key. It is potentially (and likely) different for each read. The rounds can vary between 1 and 150. Clearly, if a round of encryption takes 0.0001 second, 150 rounds takes 0.0150 seconds.

BUT to mention again, you can use the prepackaged ENCRYPTION LEVELS Max, Normal, Fast, Neuro, Tiny, or PLANK or modify them as you want.

YULL.EXE - The Console Application

Yull.EXE runs from the CLI only (the DOS box), like any other Console application. You can of course run Yull.Exe from Powershell, and as a job. Yull.exe supports source file wild cards. One caveat: If your source ("in") file is a long file name with spaces you need to enclose it in double quotes.

You can see what the normal default settings for Yull are by running:

yull /showdefaults
**********************************************************
Yull Data Encryption Trial Version 1.19.01012015.7
Copyright (c) 2010-2015
Ronald Gans. All rights reserved.
**********************************************************
Yull is starting: 1/1/2015 10:05:03 AM
Command line: /showdefaults
Parameters:
Source file=
Output file=
Key file=
Key Size=1024
MinRounds=30
MaxRounds=55
Operation Mode=NORMAL
MaxBuffSize=75
MinBuffSize=45
DummyDataSize=50
OVERWRITEMODE=ASK
ReadOrder=81
UseDefaultFolder=False
UserDefaultKey=False
Yull Decides Buff Size=True
Yull Decides Dummy Data=True
Please note these parameters as they are needed to decrypt the
file.
You must supply a source file

Assuming you have unzipped the source files to a folder like this:

c:\test\source

it would be helpful to create two other folders, output and final. Their location is not important (except to YULL). This is what I use to test out Yull, but you can of course use what you want.

If you do follow this method, you'll have three folders:

c:\test\source

c:\test\output

c:\test\final

Then, create an options file using the data just above and edit it to look like this:

OUTPUTDIRENCRYPT=c:\test\output
SOURCEDIRENCRYPT=c:\test\source
OUTPUTDIRDECRYPT=c:\test\final
SOURCEDIRDECRYPT=c:\test\output
LEVEL=FAST
KEY=C:\test\myfile.key
PDATA=Donald Duck
YULLDECIDESDUMMYDATA
OVERWRITEMODE=OVERWRITE
ENCRYPTEXTENSION=OUT
MAXBUFFSIZE=60
MINBUFFSIZE=40
MAXROUNDS=35
MINROUNDS=22
READORDER=37

and save it to a name like yulloptions in the local directory.

If you select a key like myfile.key (just a dummy name; choose any file between 100 and 10000 bytes).

Then all you have to do is:

yull in=256 @yullptions

and you get this output:


**********************************************************
Yull Data Encryption Trial Version 1.19.01012015.7
Copyright (c) 2010-2015
Ronald Gans. All rights reserved.
**********************************************************
Yull is starting: 1/2/2015 12:45:11 PM
Command line: in=256 @yulloptions
ENCRYPT STARTING...
*************************
.....................
E:\test\source\256 to e:\test\output\256.OUT
read buffer size=57
*****ENCRYPT ENDS********
total number of encrypts=10067671
number of encrypts per byte=819
Total RunTime (hours:minutes:seconds:milliseconds)=00:00:06.381
There were 216 reads.
There were a total of 6399 rounds.
Average rounds per read = 29
Approx. Speed per round in milliseconds = 0.9973
File Conversion Speed: Bytes Per Second (approx) = 1925
Yull ends.
Parameters:
Source file=E:\test\source\256
Output file=e:\test\output\256.OUT
Output Dir=e:\test\output
Output Dir Decrypt=E:\test\final
Key file=E:\TEST\KEY\KEY89.KEY
Key Size=558
MinRounds=22
MaxRounds=35
Encryption Level: FAST
MaxBuffSize=60
MinBuffSize=40
DummyDataSize=50
OVERWRITEMODE=OVERWRITE
ReadOrder=37
UseDefaultFolder=False
UseDefaultKey=False
Yull Decides Buff Size=True
Yull Decides Dummy Data=True
Please note these parameters as they are needed to decrypt the
file.


The easiest way to create an Options file is to do so in YullG.EXE. You can tweak the options and once you have what you want save it either as your Default Options or to some other file. If you rather use YULL.EXE (like in a batch file or as a job) you can use the options file to run YULL.EXE.

One Thing to Understand About the Options

The options are processed in the order in which they are encountered, except for the options file which is processed last. If you want to encrypt with a particular key, say, key=x:\mykeyfile but the options file has USEDEFAULTKEY as a line and your command line is (for the Console App only):

yull @myoptions key=x:\mykeyfile

then Yull will use your default key not mykeyfile because the options file is processed last.

With YULLG, when you load your options you can see them and you cannot specify one option in one place and another value in another place.

Encrypted Files Are Always Larger than the Original File

NOTE I use my E: drive.

Note: the file sizes are now different.

256 was 12288 bytes and the encrypted file is 15528 bytes long, the difference due to the dummy data added.

Now, to get back the original file we need only do this:

Now, 256 is one of a series of files I created that are all just ordered numbers.

You can use the included program xvi32.exe (in the zip distribution) to validate the two 256 files are the same. Or you can use the internal DOS program FC or my little helper app, fcomp.exe.

You could also run YULL.EXE with wildcards like this:

yull in=256*. @yulloptions

and Yull will encrypt all the files matching the 256* file spec using the options in the file yullOptions located in the current directory.

Running YullG, the GUI App

This is the start up screen for YullG. Notice there are two tabs, File and Options, and four menus, File, Options, Settings and Help.

If you place your mouse cursor on the unused area of the File tab and press F1 you get this:

And the same on the Options tab. All the fields have Context sensitive help. Additionally, there's extensive help on the web site.

When you are starting out with YullG, I recommend creating the Default Folder and Key. You do it with YULLG like this:

Select Settings=>Create Default Folder

Then select Create A Key like this:

Now you can use your Default folder and key. You can store files in your default folder if you want.

So now if you elect to use the default encryption output folder and the default decryption source folder, you will be referencing these folders.

This way all your encrypted files are in the same place, if that's how you want to work.

The thing about Yull is, to a great extent, it works the way you want it to, it does not force you to work the way it wants you to.

Now a word about the preview grid on the main tab. You can encrypt files from the GUI app in several ways. You can put one file name into the source. You can put wild cards into the source (like 256*.*). You can press "Preview Encrypt" and the Preview Grid will show all the files in the source folder (and you can do the same with decryption):

Here we've select the Default Folder as our destination for encryption and the default folder for decryption. There are 36 files in my source folder. If you have a lot of files in the source folder and only want to work with a few of them, you can sort them by the file name and size. You can also select one or more of the entire group by clicking on the square to the left of the name. With the column header at "Exclude" when you click on a file you see will the information about the group updated.

If you pressed Encrypt now you would encrypt 35 files. BUT if you have a few files you want to work with out of a big list of files, you can click on the word "Exclude" and it will change to "Include":

So now it's 1 file included out of 36 instead of 1 file excluded out of 36.

Again, Yull is designed to work with Options, so package your options in a file and save them:

Getting Around the Single-Threaded Limitation

Both YULL.EXE and YULLG.EXE are single-threaded. When it is busy, it is really busy. You can't interact with the console app when it is running but you can with the GUI app until you push the Encrypt or Decrypt button. And then, for the time it is busy, the UI is not responsive. If you want to encrypt large files with the MAX encryption level, it might be better to do so with YULL.EXE (the Console app) in the CLI. You can run as many YULL.EXEs as your computer will support. (But of course if you have four cores and run 5 very busy Yulls one of the Yulls will be waiting for another to finish.)

You can also run many instances of YULLG.EXE. Being graphical it does take up more memory but if you prefer the UI app you can run as many of them as you like.

Speaking of Memory Usage

Yull does not use a lot of memory. At rest YULLG uses about 7.4 megabytes (7,400 K). When encrypting or decrypting it might use 2000 more at most. It is not a memory hog, but it is a CPU hog.

Options File Handling in YullG.exe

If you want to edit your options file in a Window then select Manage Options from the Options menu (see above). You will get this:

manageoptions.jpg

Check the Default Options File and press the Folder icon to go directly to your Default Folder. You can load up your default options file by clicking on the Default Options check box, pressing the File Open Icon and selecting yullOptions, the name of the Default Yull Options File.

You can edit it and save it or save as or save encrypted.

When you save your options encrypted it is important to note the key you enter is NOT SAVED ANYWHERE. SO take care of it.

How to Save Your Options Encrypted

1. Click the Save Encrypted Check Box:

2. Click Save or Save As

We'll do Save As. As soon as you click Save or Save As you will see this warning screen:

If you elect to continue by pressing YES you will get this screen:

and then this screen:

You will have to enter your password twice just to make sure. And that's that.

Check back on the web site for more additions to the this Guide.

I urge you to use the files in the SOURCE directory to get a feel about how Yull works.

Adding Yull to the Explorer Context Menu

The YULL-REG.EXE program is included with the standard YULL distribution. YULL-REG will add ENCRYPT and DECRYPT entries to the Windows Explorer context menu, meaning the right-click set of selections in Windows Explorer. The program must be run in Administrator mode and some enterprises might want to reserve that privilege for actual Admins. While the context choices are available for all users on that computer, the selections will only be operational for those users who have set up the Yull Default Folder and options file called yullOptions. YULL context menu selections only depend upon the default folder and default options file. The options file can point to wherever the user wants and whatever key the user wants to us.

I HOPE YOU MAKE GOOD USE OF YULL.



THANK YOU FOR TRYING YULL



I have worked on Yull since 2005. I hope you find it useful and welcome any feedback, good or bad. Please contact me at help@yullencryption.com

LEGAL NOTICES AND DISCLAIMERS


THE CONTENT OF THIS WEBSITE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS, IMPLIED, OR STATUTORY. THE CONTENT OF THIS WEBSITE MAY BE INACCURATE, INCORRECT, INVALID, UNTRUE, FALSE, INCOMPLETE AND/OR MISLEADING. THE ENTIRE RISK AS TO THE QUALITY, CORRECTNESS, ACCURACY, OR COMPLETENESS OF THE CONTENT OF THIS WEBSITE IS WITH YOU. THE AUTHOR(S), OWNER(S), PUBLISHER(S), AND ADMINISTRATOR(S) OF THIS WEBSITE DISCLAIM ANY AND ALL WARRANTIES OF ANY KIND.

FURTHERMORE:

THE AUTHOR(S), OWNER(S), PUBLISHER(S), AND ADMINISTRATOR(S) OF THIS WEBSITE (AND ASSOCIATED WEBSITES/SERVERS), AND APPLICABLE INTELLECTUAL-PROPERTY OWNER(S) DISCLAIM ANY AND ALL LIABILITY AND IN NO EVENT WILL ANY OF THOSE PARTIES BE LIABLE TO YOU OR TO ANY OTHER PARTY FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO, ANY DIRECT, INDIRECT, GENERAL, SPECIAL, INCIDENTAL, PUNITIVE, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ANY LOSSES SUSTAINED BY YOU OR THIRD PARTIES, PROCUREMENT OF SUBSTITUTE SERVICES, OR BUSINESS INTERRUPTION), WHETHER IN CONTRACT, STRICT LIABILITY, TORT (INCLUDING NEGLIGENCE) OR OTHERWISE, ARISING OUT OF ANY USE OF THIS WEBSITE (OR ASSOCIATED WEBSITES/SERVERS) OR THE CONTENT THEREOF OR OF ANY THIRD-PARTY WEBSITE LINKED IN ANY WAY FROM THIS WEBSITE (OR FROM ASSOCIATED WEBSITES), EVEN IF SUCH DAMAGES (OR THE POSSIBILITY OF SUCH DAMAGES) ARE/WERE PREDICTABLE OR KNOWN TO ANY AUTHOR, OWNER, PUBLISHER, ADMINISTRATOR, OR ANY OTHER PARTY.

THIS PRODUCT MAY INCORPORATE IMPLEMENTATIONS OF CRYPTOGRAPHIC ALGORITHMS THAT ARE REGULATED (E.G., SUBJECT TO EXPORT/IMPORT CONTROL REGULATIONS) OR ILLEGAL IN SOME COUNTRIES. IT IS SOLELY YOUR RESPONSIBILITY TO VERIFY THAT IT IS LEGAL TO IMPORT AND/OR (RE)EXPORT AND/OR USE THIS PRODUCT (OR PORTIONS THEREOF) IN COUNTRIES WHERE YOU INTEND TO USE IT AND/OR TO WHICH YOU INTEND TO IMPORT IT AND/OR FROM WHICH YOU INTEND TO EXPORT IT, AND IT IS SOLELY YOUR RESPONSIBILITY TO COMPLY WITH ANY APPLICABLE REGULATIONS, RESTRICTIONS, AND LAWS.

TO REITERATE:

"YULL ENCRYPTION PRO" (IN ALL ITS VERSIONS) IS SUBJECT TO CERTAIN EXPORT RESTRICTIONS OF THE UNITED STATES GOVERNMENT. IF YOU ARE (A) IN A COUNTRY TO WHICH EXPORT FROM THE UNITED STATES IS RESTRICTED FOR ANTI-TERRORISM REASONS, OR A NATIONAL OF ANY SUCH COUNTRY, WHEREVER LOCATED, (B) IN A COUNTRY TO WHICH THE UNITED STATES HAS EMBARGOED OR RESTRICTED THE EXPORT OF GOODS OR SERVICES, OR A NATIONAL OF ANY SUCH COUNTRY, WHEREVER LOCATED, OR (C) A PERSON OR ENTITY WHO HAS BEEN PROHIBITED FROM PARTICIPATING IN UNITED STATES EXPORT TRANSACTIONS BY ANY AGENCY OF THE UNITED STATES GOVERNMENT, THEN YOU MAY NOT INSTALL, DOWNLOAD, ACCESS, USE, OR LICENSE "YULL ENCRYPTION PRO." BY ACCEPTING THIS LICENSE, YOU WARRANT AND REPRESENT TO RONALD GANS SOFTWARE AND THIS SITE THAT (1) YOU DO NOT MATCH THE CRITERIA SET FORTH IN (A), (B), OR (C) ABOVE, (2) THAT YOU WILL NOT EXPORT OR RE-EXPORT YULL ENCRYPTION PRO (IN ALL ITS VERSIONS) TO ANY COUNTRY, PERSON, OR ENTITY SUBJECT TO U.S. EXPORT RESTRICTIONS, INCLUDING THOSE PERSONS AND ENTITIES THAT MATCH THE CRITERIA SET FORTH IN (A), (B), OR (C) ABOVE, AND (3) THAT NEITHER THE UNITED STATES BUREAU OF INDUSTRY AND SECURITY, NOR ANY OTHER U.S. FEDERAL AGENCY, HAS SUSPENDED, REVOKED, OR DENIED YOUR EXPORT PRIVILEGES.

YOU SHALL INDEMNIFY, DEFEND AND HOLD ALL (CO)AUTHORS OF THIS PRODUCT, AND APPLICABLE INTELLECTUAL-PROPERTY OWNERS, HARMLESS FROM AND AGAINST ANY AND ALL LIABILITY, DAMAGES, LOSSES, SETTLEMENTS, PENALTIES, FINES, COSTS, EXPENSES (INCLUDING REASONABLE ATTORNEYS' FEES), DEMANDS, CAUSES OF ACTION, CLAIMS, ACTIONS, PROCEEDINGS, AND SUITS, DIRECTLY RELATED TO OR ARISING OUT OF YOUR USE, INABILITY TO USE, COPYING, (RE)DISTRIBUTION, IMPORT AND/OR (RE)EXPORT OF THIS PRODUCT (OR PORTIONS THEREOF) AND/OR YOUR BREACH OF ANY TERM OF THIS LICENSE.

IF YOU ARE NOT SURE WHETHER YOU UNDERSTAND ALL PARTS OF THIS LICENSE OR IF YOU ARE NOT SURE WHETHER YOU CAN COMPLY WITH ALL TERMS AND CONDITIONS OF THIS LICENSE, YOU MUST NOT USE, COPY, MODIFY, CREATE DERIVATIVE WORKS OF, NOR (RE)DISTRIBUTE THIS PRODUCT, NOR ANY PORTION(S) OF IT. YOU SHOULD CONSULT WITH A LAWYER.

IF (IN RELEVANT CONTEXT) ANY PROVISION OF CHAPTER IV OF THIS LICENSE IS UNENFORCEABLE, INVALID, OR PROHIBITED UNDER APPLICABLE LAW IN YOUR JURISDICTION, YOU HAVE NO RIGHTS UNDER THIS LICENSE AND YOU MUST NOT USE, COPY, MODIFY, CREATE DERIVATIVE WORKS OF, NOR (RE)DISTRIBUTE THIS PRODUCT, NOR ANY PORTION(S) THEREOF.