Okay, so by the end of the session, in the next eight minutes, we should be able to construct tables and charts for numerical data and also for categorical data. So when we construct tables for categorical data, which is easier, we use a table, we call it a frequency table. So when we do the graphs, we use three types. We do a bar chart or a pie chart or a Pareto diagram. A Pareto diagram is your bar chart with your line chart together. In your module, most of the time, we don't even have to bother about explaining what the Pareto diagram is about, but I have included it into the slides as well. So we normally talk about categorical data in terms of frequency or visualizing categorical data in terms of the frequency table, the bar chart, and the pie chart. So a frequency table is a summary table that summarizes your information in a table. So it takes your categorical values, your variables, and you count how many are in.  So we can say black type O, we have one, two, three, that is a count. So we just summarize it in that manner. And there is only one count for A, A, B, and there is only one count for B, and there is two for A, B. Those are counts or what we call or what we call frequencies. So if I do it as a table, a summary table, I will create a table like that. And I will put my categories, which are my blood type there, and then I will have my count or frequency, and I will say O, A, B, and A, B. How many O's? I will just count one, two, and that is three. How many A's? One, two, that's two. How many B's? There is one. And how many A, B? There is one. And that is my count or frequency. And that is the summary table. From my summary table, I can calculate the percentage. So percentage is taking the count and dividing by how many there are. So how many there are is a total. So I'll take three plus two is five plus one is six plus one is seven. So that will be seven. And I can double check because there were seven randomly selected questions. So it must make seven. Calculating a percentage, I must take every one of them, divide by seven. But before we calculate the percentage, there is what we call a relative frequency. A relative frequency, I'll call it RF here, is just the value divided by seven. So it's three divided by seven, which gives us three divided by seven, gives us 43%, not 43%, but 0,43. So that is a relative frequency. And if I need to calculate a percentage, I will take that relative frequency and I will multiply it by 100. So a percentage is your relative frequency multiplied by 100. So I will take that multiplied by 100 and that will give us 43%. And that's how you will come, you will create your frequency table. So let's go back to our notes. I explained what a relative frequency distribution is and what the percentage frequency distributions are. And those make up what we call a frequency table. Another example, so if I take the South African retail bank and I counted how many frequency of people who goes into those banks and I can see that 30 people go into the APSA bank, 44 goes into KTEC, 40 goes into FNB and those are our frequency or frequency or what also we call it COUNT. And we can add all of them. So 30 plus 44 plus that you must add all of them and create what we call a total at the end. And I don't know what the total is yet. So just adding all the values now, it's 30 plus 44 plus 40 plus 30 plus 22 plus 34 gives us 200. So total here is 200. To calculate the relative frequency of APSA, we say 30 divide by 200. So 30 divide by 200. So it's the frequency divide by N, which is our sample size. That gives us the relative frequency. So 30 divide by 200 is 0,15. To calculate the percentage, we multiply by 100 and that gives us 15%. So multiply that by 100 will give us 15%. And that is what we call a percentage frequencies. So with the summary table, you are able to say 20% of the people goes to FNB or 40 actual people went into the FNB bank. Or you can say 34 people went into a standard bank or bank with standard bank and 17% of the people, 17% of the people bank with standard bank or 0.17 bank with standard bank. And that's how you use the frequency table. Remember, relative frequency is your frequency divided by the total. So calculate the relative frequency of A and C. So you are given a summary table or a frequency table with 500 random sample size. So if you're not sure that there are 500 here, you can add 160 plus 246 plus 94. And I think the total year should give you 500. Now, with the total of 500, calculate your relative frequency of the A and C. So you will take your frequency divided by your total, which is your N, which then is 160 divided by 500, which is 0.32. Yes, correct. And that's how you will calculate. So when we visualize categorical data, we can also visualize it by means of bar chart. In a bar chart, the bars of the graph will represent the categories, the individual categories. So every bar represent the categories. The height, which is how tall it is, the height of it will represent the frequency. Sometimes we can use a relative frequency or we can use percentage frequency. So the height will represent the amount or the frequency or the percentage. And the other thing about the bar chart is the bars, there is a space in between because they do not, when one starts, the other one doesn't, when one stops, the other one doesn't start because it's category. So individual categories have to have spaces in between. They are not linked to one another. And that is the bar chart. And those are the things that you need to know about the bar chart, that the bars of the charts represent categories. The height represent either the frequency or the percentage or the relative frequency. And with the bar chart for categorical data, the bars have spaces in between. Okay. The other type of visualization we can make is by using a pie chart. So with the pie chart, you need to know that the slices of the pie represents the category. So all the slices, they represent the category. So this slide and that slide and that slide and that slide and that slide, they represent the category. Then how big the slide is is represented by either the frequency or the percentage. So the bigger the slide, the bigger the percentage or the frequency. And that is what you need to know about pie charts. That the slices represent category and the size of the slide represent the percentage or frequency. The other type of a chart for visualizing categorical data is a Pareto. And a Pareto shows the categories in the bars and also the cumulative percentages of those by means of a line graph. And that is a Pareto. Visualizing, sorry, which one of the following graphs represent, representation can be used to visualize a qualitative data. Remember qualitative data, categorical data. So which one? Think about the ones that we spoke about. Is it the histogram? Is it the pie chart? Is it the scatter plot? Is it an orgif? Or is it a frequency polygon? What have we discussed? Which graph represents? It will be a pie chart. I'm sorry, I'm seeing people raising their hands. Apologies, guys. No, it's fine. It's fine. Okay, now we move on into how we visualize numerical data. Numerical data, remember, those are data that can be counted or can be measured. So when we visualize numerical data, we use what we call an audit array, meaning we order the data from lowest to smallest. And once we have ordered the data in that manner, we can create what we call a stem and leaf plot or stem and leaf diagram or stem and leaf display. With numerical data, we can also create a summary table which is called a frequency distribution and cumulative distribution table. It's just a summary table that summarizes numerical data. Remember the frequency table summarizes categorical data? A frequency distribution summarizes numerical data. Once we have a frequency distribution table, then we can create a histogram from that data. We can also create a polygon or we can create an orgif. Later on, when we do chapter 11, we will learn about scatter plots. But also for numerical data, you can create what we call a scatter plot when you have two numerical data and you want to compare the two. So how do we then use an audit array? An audit array, like I said, is when you take your data and order it, put it in an ascending order from lowest value to highest value. If you look at my data, I have day students and I have night students. I have their ages. So you can see that both for day students and night students, the age is ordered from lowest value to highest value. Also for the night, the lowest value is 18, 18, 19. So you can see that it is in order of lowest to highest. So since I have ordered my data from lowest to highest, also you are able to see clearly if there are any outliers. So if there is a value that is way outside of the other values. So let's say maybe there is a 18-year-old who is a day scholar, a day student at a college, that will be an outlier because it will be far away from the rest of the other values. Or let's say I have a 60-year-old who is a day scholar or a 60-year-old who is a night scholar. That person would have been far outside of the other value and that is what we call an outlier. And an outlier, so let's say I have a 60-year-old there, this is an outlier because 60 years is way far from the other of, it's a value that is far from the rest of the other values. That's what we call an outlier. We'll learn more about outliers when we do measures, the measures of central tendency and measures of variation when we when we work with chapter study unit three. Okay so once you have the audit arrays or you audit your data, you can create what we call a stem and leaf plot. And a stem and leaf creates groups of data where it splits the data in terms of the in terms of the stem where every stem will have many leaves. So the stem will always be the first digit and the leaf will be the second. And this is dependent on the type of the data that you have. So for a tenth stem and leaf plot, so it means there are only two digits, one first digit and second digit. That is a tenth stem and leaf. If it's a hundred stem and leaf, the first two digits will be our stem and the last one will be our leaf. So this is our stem and this is our leaf. The same, the first two digits will be our stem and the last digit will be the leaf. If we have a decimal, so let's say 1.2, the value before the comma will be our stem, the value after the comma will be our leaf. If it's 1.1 comma 2, the value, so in terms of the decimal, there should be one decimal after the comma. So it should always be into one decimal. So the first two, the values, the two values before the comma will be our stem and the second, the value after comma will be our leaf. And if we have a thousand stem and leaf plot, the first three values will be our stem and the last one will be the leaf. You can see the pattern here, right? So the leaf, always the last digit is your leaf. The first digits are your stems. Okay, those two data set that we had, the day students and the night students. So if I want to create a stem and leaf plot for the day and night students, remember this is 10th digit because there are only one digit and one digit before and one digit after. So this we call it a 10th stem and leaf. We're going to create a 10th stem and leaf. So it means every value, the first value will be our stem. All those will be our stem, the first digits, and the last digits will be our leaf. So when we create a stem and leaf plot, we need to look at the values that looks similar. So we can see that this is one, one, one, one, one, one for all the stems. And then we have two, two, two, two, two, and then we have three, three, and then we have four. So it means we're going to create one for stem if this is the stem. So it will be one, two, three, and four. Then we're going to create a leaf. And when we create a stem and leaf plot, we always do a line. And then the line will separate the stem from the leaf. And this side will be the leaves. And we take all the digits after the stem. You must repeat all the values. So like for example, this will be six, and that will be seven, and that will be seven, and eight, and eight, and eight, and nine, nine. That will be the end. Then you go to the two. It's zero, zero, one, two, two, five, seven. Then you go to the three. It's two. It's eight. You go to the four. It's two. And that is your stem and leaf plot. That will be your stem and leaf plot for the day student. And you do the same for the night students. Later on, probably next week or after next week, when we do the measures of central tendency on Wednesday, we will look at other questions that in your exam or assignment, they ask you when you're looking at the stem and leaf plot, because they might not ask you direct question to say draw a stem and leaf plot. You're writing a multiple choice question. They might say identify from the data what is the stem and leaf plot. You also need to be able to interpret your stem and leaf plot into a table like this. So if they have given you a stem and leaf plot, this is not a six. This is not a seven, a seven, a eight, a eight, a eight, a nine, a nine. This is 16. You need to read it with the stem. This value is 16. This is 17. This is 17. This is 18. This is 27. This is 38. This is 42. And that's how you read your stem and leaf plot. From your stem and leaf plot, they can ask you question like, what is your highest value? They can ask it even on the table like this to say what is the highest value? What is the second highest value? What is the last highest value? What is the smallest value? What is the middle value? What is like that? They can ask you as many questions on this, which you can use the table. You can convert your stem and leaf into a table and use the data or you can use your stem and leaf because I can see that the smallest value is 16. My highest value is 42. My fifth largest number, I can count one, two, three. When I count the numbers, I don't have to count the three. I only count the leaf, but when I get to that number, so if I need the fifth largest number, so this is large, but the other fifth largest number will be one, two, three, four, five, which is 25. It will be equals to 25. And that's how you're going to use your stem and leaf to answer some of the questions. But when we do the exercises, we will do more so that you can learn how to use your stem and leaf to answer some of the exam questions. Okay, so one of the questions that you might get looks like this. A stem and leaf display describes two digit integers between 20 and 80. For one of this class display, the row appears as follows, which is the stem is five and the leaves are two, four and six, which is 52, 54 and 56 values. What numerical values are described here? Which one represents the values of that stem? Number three. And I just gave you the answer. Number three. It is number three because you need to know that this is 52, 54 and 56. Yes. And that's stem and leaf plot. In the next five minutes, one of you asked a question on the groom. And I think it was one of the assignment question on frequency distribution table. So now, building a frequency distribution table, they will never ask you to build one. They will give you a frequency distribution and ask a question around it. So you need to understand the basics on how to build that frequency distribution. So I'm not going to go into detail detail, but I'm just going to highlight the gist of it as well. So given, for example, we have the manufacturer of insulation has selected 20 random winter days and recorded the highest daily temperatures in degrees. And these are the temperatures. So for example, in this, my data is ordered already, ordered from lowest value to highest. My lowest value is 12. My highest value is 58. So now, based on this information, I need to first calculate the range of the data. So I need to know from my first value to my smallest value to my highest value, what is the distance, which is the range. Don't get confused with what I explained on Saturday when I spoke about the range. I'm going to get there. So this is to help me build the frequency distribution table and create those class width so that I can count how many of these values are in. The first thing I need to know is how big is my data set. So when I calculate, I find the range is 46. So it means from the smallest value to the largest value, they are 46. Okay, the distance is 46. So it gives me an idea. So how many classes do I want to create because I have 46 values? So in some instance, I might say I have 46 values. So I might say I want, because also when you create a frequency distribution, you don't want to create a big, you don't want to have so many class intervals because then you're going to create a very big frequency distribution with not meaningful information in there. So you want to create to be as small as possible. So here I have the distance of 46. So it means I can create five class intervals. So if I'm going to select five class intervals, so it means I'm creating categories of data, which will be five categories from my numerical data. So it means I'm going to group my numerical data into five of those groups. Usually, this is something that in case you want to create a frequency distribution at your company or you're working and you want to show them how to do the frequency distribution. Usually it's between five and 15 because you don't want to create so many classes. Depending on the type of data that you have, if you have a thousand thousands of data, you can create 15. If you have only 10, you need to select maybe two or three groups of data, something like that. For this, we're going to create five classes. So it means we're going to group the data into five groups. So to create a class width, I'm going to take my range, which is 46 and I'm going to divide it by five. And when I do that, I will get a value of 46 if I go there so that you don't ask me a lot of questions. Let me clarify my response before I do that. So if I take 46 and I divide that by five because I want to create five groups.  You know when they say people slaughter meds. 46 divided by five is 9.2. Now I can use 9.2 to create my class width. So automatically when you use a program, a statistics program, it will create the bins. We call them bins in a statistical programs. Or if you're using Excel, you create what we call bins. Those bins, not bins as in like the bins we eat. So we call them bins like B-I-N-S. So creating those bins, if I use a statistical program, it will create them. And I can say create only five class width and it will create because I'm doing this manual. And I want to make sure that my class width and my upper boundary and my lower boundary are as clean as possible. So 46 divided by five gives me 9.2. I can either say I'm going to create the class width or the distance to be 9. Or I can take a decision and round it up to the nearest tenths because then my start point and my ending point will be cleaner in that way. There's nothing wrong with creating 5.5 to 10.5 or 9.2 to you can do it that way. But for the purpose of the demonstration so that nobody asks me this, that 46 divided by five is not 10. I've rounded it up and I killed METs in this way. I slaughtered METs to the highest degree because when we round up, it's still going to be 9. But for me, I'm going to create the width of 10. So it means the distance between my lowest value and my highest value will be 10. So since I know that I am going to create 10, so I can look at my data and say, what is my starting point? So if my starting point is 12, what is my highest point and my highest point is 58. So if I create 10s, then they will be included in that. So I will start with 10. And I'm going to add, since I'm starting with 10, I'm going to add this 10. So this is my start. And I'm going to add my interval width, which is 10 to that. And that will give me 20. So it means my first one will start at 10 and it will end in 20. Now, when you create a frequency distribution table, and I know that we left with two minutes, I'm going to wrap up just now, when we create this, we can put a dash there. Therefore, it means the value should include 10. It must include 10, but it must not include 20. So that the next value can start at 20 and I add 10 to it and it will end at 8. So this one will include 20, but this one not include 30. Because the next one, the next value will include 30 and it will end at 4, because I'm just adding. So if I want to know what is the distance between 20 and 30, I can just say 20 minus 10, which gives me 10. If I want to know what is the distance between 30 minus 20, which will give me 10, which is the same as my class width, which is the same as the distance between my upper boundary and my lower boundary, which gives me my width of the table. Okay. I hope you got that. But now, after I have calculated that, then I create my classes and my classes 10 less than 20, 20 less than 30. And I do for all of them up until because I said I'm creating 5, I will create 5 and it will include the last one will be 60. Since I started with 10, I will end with 60 there. And those are my class width. Now, I need to take my class width and start counting the observation and assigning them to the class. So the observations are all these values. So I would say any value that falls within 10, but not less than 20, then I start counting 1, 2, 3, because 21 is bigger than 20. So it's only 3. So in this, the count is 3. And then I move to the next class, 20 to 30, 1, 2, 3, 4, 5, 6. It does not include that and that will be 6. And like that, like that, like that, until I complete the whole table. That will be my frequency. If I add all the frequencies, I will get the total of 20 because I know that there were 20 days. Calculating the percentage like we did with the summary table is your frequency divided by the total, which gives you 15 percent for every one of them. Therefore, it means those winter days that were the temperature was 20, but less than 20, less than 20, that were 10, but less than 20. There were three of them or 15 percent of the days had a temperature between that. Two days were between 50 and 60, or 10 percent of the days had the temperature between 50 and 60. And that is frequency and percentage. Calculating the cumulative frequency, which in your assignment they gave you this, you need to be able to use your frequency. From your cumulative frequency, you can go back and calculate what the actual frequency is. Cumulative frequency, from the beginning, the cumulative frequency will be equal to that because it's 10 less than 20, which means any days less than 20, there were only three of those. Coming to the second one, we're going to say three. We normally don't use the three from the frequency because it's going to confuse you. We take the three from the cumulative frequency, we add the six from the second class interval, and that will give you nine. Three plus six gives you nine, and you do the same. So we take nine, we add five to it, and it will give us 14. What does that mean? It means the following. I am wrapping up. This is the last thing that I do. Then we are done. What does that mean? It means in this frequency, cumulative frequency of 14, it says any temperature which is less than 40, which means it includes 30s, and 20s, and 30, everything that is above there. So it's all these frequencies. That is the cumulative frequency. So if in the assignment they're asking you what is the frequency of 30 to 40, you need to be able to say 14 minus nine, which is equals to five. 14 minus nine will give you five, and that is your frequency. And cumulative frequency of cumulative percentage frequency, you take the value you divide by the total. You take nine, divide by total, and that will give you the cumulative frequency. And that is your frequency distribution. And with that from here, I'm going to stop today's session. On Saturday, we will continue where we left off. Let me just go there. We will continue where we left off and do the histogram. And we do the last two, which is the ogive and the polygon and the scatter plot. And then we do lots of other exercises. So let's just finish up and recap on in this one minute that I'm going to give myself. We learned in the beginning, chapter study unit one, what is statistics? We learned the types of variables. We learned the levels of measurements. And then we went and looked at how we summarize the data in terms of the categorical data and also in terms of the numerical data. So on Saturday, we will start with recapping again and revising and refreshing our memories, because we're going to do a lot of exercises and then continue where we left off and then do lots and lots of exercises in order for you to be able to know what you need to do in your assignment. To complete your assignment one. With that, if there is any question, I am going to stop recording and I am going to leave. Unless there is any question regarding the slides, I'm going to get out of the slides now. You will share the recording once it's completed. Yes, I will share the recording. I will give you questions on Saturday.


Well, I'll call this hearing to order on a more serious event, but it let first let me get my script out Since we do need to go through a number of things as before we begin this Begin this hearing. I want to welcome the audience and those who may be Viewing this remotely online Welcome to the applicant to the staff members of the public and The commission is here today to conduct an evidentiary hearing and the shine medical technologies application for a construction permit for a medical radio isotope production facility in Janesville, Wisconsin This hearing is required under section 189a of the Atomic Energy Act of 1954 as amended and the commission will also be reviewing the adequacy of the NRC staff's environmental impact analysis under the National Environmental Policy Act of 1969 which many of us refer to as NEPA This is the third so-called mandatory or uncontested hearing that the commission has held this year But unlike the two previous ones this one is for a construction permit not for a combined license But the requirements for therefore the the necessity of a hearing on a construction permit is required as I noted under section 189a During the hearing shine and the staff will provide Testimony and witness panels that will provide an overview of the application as well as address safety environmental issues associated with review and Commission questions will follow each panel and there will be a rotation of the commissioners and From panel to panel and commissioners may allocate their total time among the panels as the commissioner each commissioner sees fit In order to issue a construction permit the commission must make certain Specific safety and environmental findings on the safety side the commission will determine whether In accordance with 10 CFR 50 point 35 subsection a Whether the applicant has described the proposed design of the facility including the principal architectural and engineering criteria for the design and whether the applicant has identified the major features or Components incorporated therein for the protection of the health and safety of the public Also such further technical or design information as may be required to complete the safety analysis and Which can be and those which can be reasonably left for later consideration will be supplied to be supplied in the final safety analysis report Whether safety features or components if any that require research and development have been described by the applicant And the applicant has identified and there will be conducted a research and development program reasonably designed to resolve any safety questions associated with such features or Components and whether on the basis of the foregoing there is reasonable assurance that one such safety questions will be Satisfactory resolved at or before the latest state stated in the application for completion of the construction of the proposed facility and To taking into consideration the site criteria contained in 10 CFR part 100 The proposed facility can be constructed and operated at the proposed location Without undue risk to the health and safety of the public in making these findings the commission will also be guided by the considerations in 10 CFR section 50 point 40 Which include the commission's opinion as to whether the issuance of the construction permit Will not be inimical to this common defense and security or to the health and safety of the public With respect to environmental matters the commission will determine whether the requirements of NEPA sections 102 to a C and e and the applicable regulations in 10 CFR part 51 have been met It will the commission will independently consider the final balance among conflicting factors contained in the record of the Ceeping with a view to determining the appropriate action to be taken Determine after weighing the Environmental economic technical and other benefits against environmental and other costs and considering reasonable alternatives Whether the construction permit should be issued denied or appropriately conditioned to protect environmental values and Determine whether the NEPA review conducted by the staff has been adequate This meeting is open to the public and we do not anticipate the need to close the meeting to discuss Non-public information But if a party believes that a response to a question may require a reference to non-public information Then I would ask the party to answer the question to the best of its ability and Practicality with with information that is on the public record and file any non-public response Promptly after the hearing on the non-public docket Before proceeding to my fellow commissioners have anything they'd like to add Then we'll proceed With the swearing in of witness will start with first with shine and ask counsel for shine to introduce himself Good morning. This is Steven Burdick from Morgan Lewis and Bacchus also joined by my colleague Paul busette. We are counsel for shine Okay, I'll ask you to raise your right hand Do you swear or affirm that the testimony you will provide in this proceeding is the truth? The whole truth and nothing but the truth Did any please inform me if any of you declined to take the oath? Okay, you may be seated and I present is there any objection to Including a witness list the objection. Okay So proceed to the mission of the evidence on behalf the nrc staff Are there any edits at its counsel to your exhibit list? There are no edits Would you read the range of numbers on the list of exhibits to be admitted staff exhibits run from nrc? 001 through nrc 013 Okay, and I presume you would move to include the admit those exhibits and into Evidence we would like to move to admit them into there. Are there any objections objection. Okay, and seeing no objection the Exhibits are admitted. So thank you for those. We got through the preliminaries I think at this point. We're ready to Have the overview panel for shine And for this portion of the proceeding will have the overview panel from shine and I believe then we have the questions Of this on the overview panel, and then we'll have the staff panel. So thank you counsel And again that this is an overview panel for Opportunity for the applicant to provide us overview of the application and the proposed project I would remind the witnesses that you remain under oath You could may assume that the Commission is familiar with the pre-hearing filings On behalf of of the applicant is as well of the staff and I would then ask the panelists to introduce themselves I'll start here. Are you still my name is Greg Piper. I'm the founder and CEO of shine medical My name is Bill Hennessey. I'm the manager of engineering for shine My name is Jim Castillo on the licensing manager for shine My name is Eric van Abel. I'm an engineering supervisor for shine. Okay. Thank you gentlemen And you may proceed with your presentation So once again, my name is Greg Piper and I want to thank Commission commissioners mr. Chairman for your consideration in this very important matter Started off. I'd like to give you guys a little bit of background on shine and our mission as a company Shine medical technologies is dedicated to being the world leader in the production of clean affordable production of medical tracers and cancer treatment Elements commonly known as medical isotopes by the medical community We recognize fully that in order to run this business successfully our highest priority needs to be on safety And reliability of the processes used to produce these isotopes at the end of the day These products will serve the needs of approximately 100,000 patients per day around the globe Making this a very very significant endeavor in terms of health care of patients Of course, we can't operate the plant at all if we're not focused on safety in our own house And so those are the highest sort of values within the company Also interesting is that we come with this technology to the market at a very interesting time when there is a tremendous amount of Transition happening in the existing supply chain for these medical isotopes Currently the only producer in the western hemisphere of any significant volume will be leaving the market permanently in 2018 And the products have a 66 hour half-life the most the most commonly used product has a 66 hour half-life And that creates substantial challenges for us patients here if we need to bring all of our medical isotopes from overseas next slide please Just a little bit more background on the primary medical isotope That the world uses molybdenum 99 Decays into a daughter technetium 99 M and is used in about 85 percent of the nuclear medicine scans performed globally Technetium 99 M is extremely versatile its chemistry allows itself to attach itself to a very wide variety of drugs Where it acts as a tracer and essentially allows doctors to see what that drug is doing It has a six hour half-life And so it is very difficult to distribute as technetium, but because it's a daughter of molybdenum 99 Which has a 66 hour half-life you can distribute it around the globe fairly easily Collectively these procedures make up about 40 million doses on an annual basis So very very high volume and very important to patients all around the world the US being approximately half of those doses The pie chart included on slide 3 shows a breakdown of the Procedures primarily that use technetium 99 M I'm just going to call your attention to two of the slices the largest slice is labeled myocardial perfusion Myocardial perfusion is just a way of saying looking at blood flow through the heart muscle And in fact is commonly known as a stress test If a doctor wants to know where to put a stent if a patient's having chest pain They'll do this if they want to see if the heart's been damaged by a heart attack They'll do this test and so very very useful when you look at the number one killer of human beings in the United States It's cardiac disease and the number two use is for something called a bone scan, which is used to stage cancer And and that is the number two killer of people in this country And so very important products very widely used today, and it's very important that the supply chain remain robust For many many years to come next slide, please However, you know it is not clear that the supply chain will remain resilient on the current track without new production In fact, it looks like it will not be able to meet the needs the growing needs of the globe in terms of medical isotope production I mentioned the Canadian reactor is exiting the market permanently in March of 2018 And they actually plan to decommission that reactor at which time the Western Hemisphere will not have a source Barring barring new entrance coming in and this is not going to create just a problem over here But it's going to create a global problem and that in fact the nuclear energy Agency as part of the Organization of Economic Cooperation and Development has been performing studies on exactly this situation for the last several years And we've included a small bit of data from the most recent study Which shows currents demand growth in the green line and current production capacity In the orange ish line as you see that it kind of dips down when Canada leaves I'll note that this demand graph does include something called outage reserve capacity and so You know it there's a little buffer on what's actually required, but that's important That's what the market needs in order to operate reliably and ensure that patients can get the products They need and manage it the occasional outage because the supply chain is On the order of 50 to 60 years old in most cases the research reactors producing this isotopes so it's it's very very I Think stressful situation for the medical community right now not knowing where their answers are going to lie in the long term And that that problem creates an opportunity For new technology to come in and sort of change the way we've been making medical isotopes in this country And and really do it in a better way And that's that's what we believe we've done here You're going to hear a lot more about how we plan to do that as the day goes on But when we develop this technology we've been working on it since about 2006 We had some core values as a company when we founded the company that that really are embodied by the technological approach You're going to hear about And obviously as I mentioned in the beginning We believe at the very highest level that it is impossible to run this company Without protecting the health and safety of our workers the public and the environment And so these have been factors in our consideration from day one When we were looking at what technologies to choose and what approach to go forward on On top of that we need to ensure based on the short half-life of these products that we can get the product out regularly on time every time again with 66 hours You know, there's really no forgiveness for substantial delays It just means that patients aren't going to get the products they need if you can't deliver And that's unfortunate if a patient presents with chest pains and a doctor's concerned They may have had a heart attack and it has to tell them to come back, you know Maybe in a week and hope you make it Or has to give them an alternative isotope that'll leave them radioactive for weeks They just keep stay away from small children for quite some time. That's just not good for the patient So we need to get this out every single time We also needed to ensure cost effectiveness. We had to ensure an approach that would allow us to make medical isotopes that can be bought You know, it's a time when reimbursement is generally across the board decreasing in the United States And it's important that a cost-effective technology be developed so that this doesn't become prohibitive in terms of cost for patient access And finally something that's been very strong in our minds since the beginning Is that it's it's not necessary to use highly enriched uranium to make Medical isotopes, however, it is commonly used around the globe today And so we designed our process to eliminate the need for highly enriched uranium And in fact use only low enriched uranium as part of our process the risk posed to the US public by the proliferation of highly enriched uranium is extremely high if there were to be an event the consequences would be disastrous and we fully support the US government's initiatives to Remove highly enriched uranium from the supply chain and in fact stop shipping it around the world to ensure that we have appropriate medical tracers So these are all things that drove our mission and drove our values or drove our technology rather And so I'm going to just give you a high-level View of the technology and how it reflects those values Fundamentally the biggest protection that we have is that these systems have been designed to be small And I'm talking about small in terms of thermal power equivalent When you look at a shine production unit or radiation unit you'll hear more about this throughout the day The thermal power of one of these systems is on the order of 100 kilowatts When it's producing at full tilt if you were to compare this to a reactor like the NRU Which is also producing medical isotopes today that reactors thermal power equivalent is 135 megawatts So there's about a factor of 1000 difference in thermal power from a shine based system to a reactor based system And that has tremendous safety benefits for us Including low source term and very low decay heat if we shut one of our systems off within hours Just a few hours. We're down to about a kilowatt of decay heat And so we're talking about something that's less than a hairdryer And so you don't have a lot of the concerns you would have with loss of power in in much larger facilities in addition to the safety benefits just from the lower source term and Lower decay heat, of course, we're producing less radionuclides overall Than a much larger reactor would do and that allows us to use commercial disposal for much if not all of our disposal path It's a great economic benefit and certain certainty benefit in terms of final disposition of waste products Secondly, we developed a low enriched uranium target that is not only novel in terms of being aqueous The target is in a liquid form, but it's also the first target that I'm aware of that is Reusable and the reusability of our target actually gives us a substantial economic advantage Currently in the supply chain metal targets are used solid targets are placed next to a reactor core They're irradiated much of the uranium does not fission They're dissolved and the medical isotopes are extracted out and the rest of the uranium is essentially thrown away Well, in fact since it's highly enriched uranium in most of these cases it's thrown into tanks and very carefully monitored But the reusable target for us is a major major improvement And finally the system is driven by a low energy electrostatic accelerator. I say low energy That's about 300 kilovolts 300 kiloelectron volts beam energy And if you were to compare that to a cyclotron that would be found in a pharmacy today That makes isotopes such as fluorine 18. Those are on the order of 10 Mev mega electron volts. So it's it's a much lower much simpler accelerator that we're using to drive this This target and that also allows us to operate below criticality Some liquid reactors have been operated in the past and they operate at criticality with control rods We've chosen for a number of reasons to eliminate criticality altogether and use this accelerator system to drive the liquid target And that gives us again Substantially less waste by eliminating the need for a reactor as the primary neutron source It is also proven demonstrated in fairly cost-effective technology That actually people can come and see if they'd like it's in our lab in Bonona. So that is I guess that concludes my presentation I'm going to turn the rest of the overview over to Jim Castedio Good morning next slide, please The the shine facilities located on a previously undeveloped 91 acre parcel on the southern boundaries of the city of Jamesville and Rock County, Wisconsin If you look at the map the area outlined in red on the southern boundary is Rock County Next slide, please The shine facility layout consists of an irradiation facility or the IF in a radio isotope production facility or the RPF The area outlined in blue is the irradiation facility which houses the irradiation units And the area outlined in red is a radio isotope production facility which houses the hot cells The facility is relatively small compared to the size of the parcel It's a 91 acre parcel and the facility is above 55,000 square feet centered approximately in the middle of the parcel Next slide, please The shine IF consists of eight subcritical irradiation units, which are comparable in thermal power level and safety considerations to existing non-power reactors licensed at a 10 CFR part 50 However, due to subcriticality the irradiation units did not meet the existing definition of utilization facility in 10 CFR 50.2 To align the licensing process with the potential hazards the NRC issued a direct final rule Modifying 10 CFR 50.2 definition of utilization facility to include the shine irradiation units And irradiation unit consists of a subcritical assembly a neutron driver and supporting systems Next slide, please The radio isotope production facility is a portion of the shine facility used for preparing target solution extracting purifying and packaging molly 99 and the recycling and cleaning of target solution Based on the batch size of greater than a hundred grams the RPF meets the definition of a production facility as defined in 10 CFR 50.2 Next slide, please Shine submitted a construction permit application in two parts pursuant to an exemption from 10 CFR 2.101 Part one of the application was submitted on March 26, 2013 Which included PSR chapter 2 on psych characteristics PSR chapter 19 for the environmental review and general and financial information Part 2 of the application was submitted May 31st 2013, which provided the remaining PSR chapters and then a discussion of preliminary plans for coping with emergencies in accordance with 10 CFR 50.34 810 Was provided September 25th, 2013 The shine facility will be licensed under 10 CFR part 50 domestic licensing of production and utilization facilities Next slide, please Shine used for regulatory guidance and acceptance criteria shine use new rate 1537 Guidelines for preparing and reviewing applications for licensing and non-power reactors and these in the interim staff guidance augmenting new rate 1537 parts 1 and 2 The ISG Incorporated relevant guidance from new rate 1520 the standard review plan for the review of a licensed application for a fuel cycle facility Shine also used additional and gardens additional guidance such as regulatory guides and ANSI standards and developing the application Now that is my presentation. I'll now turn it over to Eric van able to discuss the shine technology Okay, next slide, please. Good morning I want to give a brief overview of the process and technology that shine plans on using As in this slide as Jim showed there. There's two main areas of the production facility building There's an irradiation facility in IF and a radio isotope production facility in RPF I'm going to go through the processes in those two areas in the next few slides Next slide, please Here's a general schematic of the overall shine process overview Just to orient you relative to the last figure The TSP and irradiation UN cell on the left there is part of the irradiation facility and the other components on this diagram Are all part of the RPF So we begin our process in the bottom there at the target solution preparation step In that process we dissolve uranium in sulfuric acid and produce what we call target solution That target solution is then moved to a whole tank, which is number two on the figure there There's one of these whole tanks for each of our eight irradiation units. So there's eight whole tanks Those whole tanks are staging areas prior to the irradiation cycle So in that whole tank will measure the uranium concentration the pH ensure that the parameters are correct to begin the irradiation cycle And then once we're ready to begin we'll start pumping that solution over to the TSV in discrete batches We'll fill up the TSV to the proper level and then once the TSV is at the proper level We begin the irradiation process by energizing the neutron driver, which is our accelerator that Greg mentioned That accelerator runs for approximately five and a half days We irradiate the solution produce a medical isotopes of interest in the solution and then we once we're done with the irradiation process We drain that solution to a dump tank Located right in the radiation unit cell So the solution is held there for a short period to decay And then once we're ready to process it we Transfer it over to the supercell which is number four on the figure there The supercell is just a larger hot cell that has several processes inside of single hot cell In the first part of that process is the extraction process and that's where we actually separate out the Mali 99 from the other isotopes in the solution and Then most of the time that uranium solution just goes right on to the recycled tank Which is number five in the figure And there it's just recycled back into the process and it goes in a loop goes to another whole tank to another irradiation cycle Occasionally, we also send it to the urex process, which is item six in the figure there And that's where we periodically clean up the solution We remove the uranium from the other fission products using solvent extraction technology urex And we recover the uranium and recycle that back into the process So we just send that back to the target solution preparation steps and recreate target solution again next slide please In the irradiation facility shine has a a system that couples fusion and fission technology So we have a an accelerator that's fusion-based to terium tritium fusion-based accelerator coupled to a fission-based subcritical assembly The prostitl diagram on the right there shows a schematic of that process in the accelerator We accelerate to terium ions into a tritium gas target and that results in the production of fusion neutrons 14 MeB fusion neutrons Those neutrons and pass through a component. We call the neutron multiplier in that multiplier they The yield of neutrons is increased and then the neutrons are transferred into the target solution The target solution is where the uranium is is actually located In the target solution there is subcritical multiplication So the fission occurs it causes more fission, but in a subcritical process And then that that fission yields the radioisotopes of interest directly in the solution for ready extraction from the solution There are additional supporting systems Including a light-water pool system the entire system is located in a pool similar to a research reactor The target solution vessel off-cast system as I'll mention in a few slides here manages is manages to gas products from the fission process The primary close-up cooling system cools the TSV during the radiation process And there's a tritium purification system that supplies clean gases to the accelerator for the irradiation It's important to note that this process is done at essentially atmospheric pressure. It's a low temperature low pressure process These aren't highly pressurized high-temperature systems like a power reactor would be The target solution at the end of the irradiation cycle is simply drained to a dump tank as I mentioned Right in the irradiation unit cell. That's a passively cooled safe by geometry tank to store the solution And that's drained through redundant fail-open dump valves The TSV itself is just an annular simple annular vessel constructed of zircaloi a Widely used alloy in the nuclear industry and there's no pumping of the solution while we're radiating it It's just naturally convected inside of the vessel This slide shows the Just a rendering of the subcritical assembly The outer vessel in the center there is the subcritical assembly support structure the SAS This is a secondary vessel that surrounds the TSV The TSV is internal to that along with the neutron multiplier SAS is just there in case that there's a leak in the TSV that solution would be contained inside of that The dump tank is located directly below it there and there are dump and overflow lines from the TSV to the dump tank to connect it next slide please so we were just looking at the components and read on this figure Directly above that is the accelerator and the accelerator sits on a grating above the pool And the accelerators in yellow in this picture It's an electrostatic accelerator a simple accelerator technology As Greg pointed out before It generates fusion neutrons from DT fusion That drive the fission process when we shut down the accelerator the fission process terminates because the subcritical assembly is never at critical The tritium purification system is not shown in this figure But it's also in the radiation facility and that system Separates gases from the accelerators of the accelerators. It's operating. It's mixing deuterium and tritium together The tritium purification system separates those back apart and resupplies the purified tritium back to the accelerator for continued operation And the tritium lines for that system and the processing equipment are in gloveboxes and double walled pipe Next slide, please The TSV off gas system is shown in green on the figure here That system is directly adjacent to the radiation unit cells That system contains the fission product gases that are generated in the TSV during a radiation It removes iodine from the gas stream and also its its major function is to recombine hydrogen and oxygen So as we irradiate the solution Radialysis of the water generates hydrogen and oxygen and this system sweeps sweep gas air Over the target solution vessel to the dilute the hydrogen and send it to a recombiner and then recombine the water and return that water Back to the TSV such as the closed loop The subcritical assembly as I mentioned before is immersed in a light water pool that pool provides significant radiation shielding and decay heat removal Next slide for the irradiation process When we're ready to begin the irradiation We measure the relevant parameters of the target solution such as uranium concentration and pH and any other Chemical parameters that we need to determine and then we begin Moving a solution in discreet batches over into the target solution vessel. We measure the count rate at each step there and From that we can do the the 1 over m process that's used in Reactors all over the world to predict the critical state of the assembly and the difference with us is that we Increase volume we predict for the critical state is and we never go there. We stop 5% by volume below critical And that's our highest reactivity point for the system And during that process there's there are automatic safety systems That are monitoring and will initiate a shutdown on high new jump flux or primary cooling temperature should The operators not stop the system before that and that would prevent a criticality Next slide please Once we begin the irradiation process we isolate that batch of uranium solution in the TSV So it's a fixed target fixed batch of solution We close the the fill valves the redundant fill valves and isolate the fill pump from the system We energize the accelerator and then we began slowly supplying tritium to the accelerator and that causes the output of the accelerator accelerator to gradually increase And that increase in the neutron output accelerator results in increased fission power in the TSV That fission power results in increased temperature and void fraction in the TSV Which the system has very strong inherent negative feedback coefficients So though that increase in temperature and void fraction causes the reactivity to drop significantly in the system And we don't do anything to compensate for their activity dropped we lot the system drive further subcritical We do this for approximately five and a half days and then following shutdown we drain the solution into that dump tank where it's passively cooled Normally we're maintaining the temperature of that pool, but should we lose off say power or active cooling for any reason of the pool There's sufficient heat capacity in the pool For a temperature rise of only 12 degrees after 90 days without cooling So it's a large body of water. There's very little decay heat because this is such a small system Next slide please In the radio ISO production facility once we're ready we transfer that solution over to the RPF and there we extract them the Mali 99 We have a purification process that it then goes to and this is the leu modified cynic M process Where it's a laboratory scale Glassware process that's done in a hot cell just to purify the product and then we package it and get ready for shipment to customers The in the RPF. There's also a noble gas removal system the NGRS This system collects those off gases from the TSV off gas systems to a TSV off gas system stores them Holds them for decay for 40 days Prior to sampling and then a filtered monitor discharge to our process vessel event system Also in the RPF is the processes for recycling and cleaning up the target solution the Eurex process That's a as I mentioned before it's solve an extraction process that separates the fission products and plutonium from the uranium The uranium is recovered And for reuse in the process Next slide please In the shine facility we use engineered safety features to protect public health and safety and these are principally confinement The it's important to note that our inventory in any one of these confinement areas is approximately 10,000 times less than the radio-nuclide inventory in a power reactor. So they're Lower much lower inventory which reduces the risk and also these are low temperature low pressure processes So there's not a lot of stored energy to encourage dispersal So there's there's lower dispersion forces, which of course reduces releases The confinement functions themselves are provided by the biological shielding. There's Over most of processes. There's thick reinforced concrete biological shielding usually several feet thick concrete Isolation valves on the piping systems Ventilation systems play an important role in the confinement features as shown on the figure on the right there That shows you some of our cascaded ventilation zones From zone one to zone four. There's a pressure gradient with zone one being at the lowest pressure so the any potential contamination is Reduced outside of those areas in zone one where radiological materials are normally stored And in any accident scenario those areas and read on the figure there are the areas where Isolation would principally occur and contain that material should a accident occur And also there are of course at instrumentation and control systems that actuate the confinement features Next slide, please right So as described in shines PSIR we have a preliminary design That shows that we can construct this facility to meet the applicable regulatory requirements We've identified robust engineered and administrative controls to ensure that we can protect public health and safety the environment and our workers and we are Certainly designing this plant with safety as our primary criterion And that concludes my presentation That concludes the presentations Thank you


Thanks for watching, I just wanted to do a Haas vlog.  The links are below, have a look, see what Haas is all about. If you're at Birmingham City University and you're watching this video, get onto the Haas scheme because it's amazing. And today, so the reason why I'm doing a video today is because my first instalment of the Haas scholarship funding has gone into my bank. Oh, I've got my first instalment, which means I can do things. So, I've borrowed a laptop for the weekend because as you know, if you've watched a previous vlog, my laptop's dead, I'm gonna create my blog site, I'm gonna make it look amazing, I'm gonna take you on the journey with me, I'm gonna make the payment right now to make it amazing with the Haas money. Thank you Haas team, I'm so excited for this, let's do it. Here it is, so this is my site at the minute. If you haven't been on there, I'm gonna post the link below to my blog site. This is what it looks like currently, diary of the student nurse. I've got all my blogs, one after the other. So now, I'm gonna upgrade. I can get a free domain name. I'm going for the business plan because the extra things you get, you get unlimited storage, you get the plugins, so you can put your YouTube video straight on, you can upload your own themes, which is what I want. You get, again, the Google analytics as well, which will be really good and it removes the WordPress branding. So, I'm gonna have no adverts, I'm gonna have nothing, I'm gonna have a custom design, it's gonna look amazing. Let's upgrade then. Hide this for a second because I don't want people knowing where I live. Processing the paper. Are you ready? Continue, continue. Congratulations, I've done it. Now, what do I do now? Let's have a look. Personalized help, that's great. Try new themes. So, I'm gonna have a look at some themes today to make my blog site look amazing. Upload plugin, yes please, thank you.   It's gonna save me so much time, this is just, this is amazing, it's just incredible, I'm so happy. Add a domain, odon.co.uk.o.com, that's a very good question. Diary of the student nurse.co.uk, select. Free domain, complete checkout. That's it, my domain, my domain set up, diary of the student nurse.co.uk. Yeah, I've waited so long for this, thank you so much, thank you, I'm so happy. So, here are all of the WordPress themes, which is what I've already got, I've got this one that I created myself. So, let's go back to themes and on here it says you can upload a theme, which I'm not sure how to do, so I'm about to use YouTube myself to go and work this out. Let me just on WordPress, trying to customize my theme. It's driving me crazy. I was really excited about doing it and now I don't understand a few things, like I've got this theme, but it's not letting me edit the layout of the theme, it seems like it's just fixed and I can't do anything with it, I can't move my blogs about, I can't adjust it, I can just adjust the colors and things, so I'm gonna get back on YouTube and have another look. So, today is Sunday, I'm still creating my WordPress blog, I wanna show you what I've done so far. So, here we go, along the side here, I've just, there are all my images that I've edited, I've created, I've put them on this side and this is how my blog looks now. And then when you hover over things, it shows you what the blogs are. So, I've now changed my header as well, as you can see, I've just done a bit of color splash, bit of black and white and that's it. I think I'm done, I've got my Twitter feed on the side, I've got my links to my YouTube, Instagram, Twitter there at the bottom, I've got my YouTube video, yay, finally, I've got my YouTube videos embedded onto my blog. What do you think? Any ideas, any changes I can make, any help, tips, advice, please let me know. Let's make this look even better. Just let me know what you think guys, do you think there's too many sunflowers? Do you think I've gone too far with the sunflowers? Let me know, constructive criticism is key.


And actually, there are a few teams right now that I think are surprising people, which is fun, I think as a fan, but Cavs, they finished the season last year and we thought, okay, this could be a fun team to watch, just keep our eye on it. And then they add Donovan Mitchell and now they're dominating. He's 30 points in what, five of last six games. Do we think that this Cavs team has enough to really compete with some of the elites in the Eastern Conference? Eddie, you wanna start?  And we've yet to see them with Darius Garland. He only played in the first game and he got hurt. But he's proven himself as a big playoff performer. The Ray the Roster set up, it's set up for playoff basketball.  We're gonna do everything we can to get our guys and their spaces and can you do that? And Donovan is one of the best ISO scores in the league and Garland is building himself into that. And with the athletic frontline and all the shooting they surround those two guys with, they're a dark horse in the East for sure. And if they can remain healthy while some of these older teams have to deal with all of that, you never know what we could see. I saw 30 and 10 from Donovan Mitchell last night and there were points in the last couple of years where the Jazz thought about making Donovan Mitchell their full-time point guard because they felt like he would play better on the ball, have more assists, play make, he had that ability. He could really be like a James Harden for them. So they toyed around with that idea. And I think at times it was successful but we've seen what Darius Garland out, basically all season so far, they've played Donovan Mitchell primarily at the point and he's played at a great level. The team is looking good. So there's no question. They have the firepower, they have the depth to do it to be competitive in the Eastern Conference playoffs. But I wanna see this team with Darius Garland. I wanna see this team with his creativity. How does he coexist with Donovan Mitchell? Because that was definitely a big question going into this cap season. Yeah, this reminds me a lot of last year when Sexton went down and kind of Garland took that jump and I think it's actually gonna pay off for Donovan. New team, new city, new system. He's had these last couple of games without Garland to kind of get his feet wet, get comfortable. So I agree, once Garland comes back, it'll be interesting to see those two guys coexist who runs point, who looks to score on any given night. But honestly, shout out JB Bickerstaff, man. He's my favorite coach I ever had.  They're sacrificing, they're playing unselfish and you can, when you watch them play, they're giving up the open shot for a more open shot. They're getting the crowd involved. It's packed. Like it looks like it's fun in Cleveland right now and they have a young, deep team. Guys like Dean Wade and Kevin Love, like these guys are factors and it makes me so happy for JB because he's an awesome dude. He's one of those coaches that you want to play hard for. You want to win for. He's relatable. He's one of the guys and he's brilliant. X's and O's and defensively. So I definitely like them. And man, Donovan Mitchell, he's better than advertised. He's going. You know, Kevin Love is a great point and it's something that I want to touch on as well. Looking at his old AAU buddy, his old UCLA buddy Russ, this is kind of the role he could embrace. Kevin Love hit eight threes last night. He's a champion. He's played among his games at this franchise. He's the longest tenured calf and he accepted a six man role off the bench. It's only helped that team. Him providing that spacing. He's in there late in games. He's finishing games with them in the right matchups. They're a deep team. I think they played 12 guys yesterday and that's without Barlin. So there's a lot to love about this team as they continue to get better throughout the season as well, build continuity. I am curious about the kind of distributed and ball handling duties between the two guys. But I think it'll help Donovan to be able to be a secondary ball handler at certain points in games and then to finish it with the ball in his hand. Yeah, they're gonna float under the radar as well with all the things going on on the East. The teams that are at the top, the Bucks are undefeated. The Celtics just went to the finals. The Nets are with the Nets are. They got a really good chance to get into the top three, have some home court. And yeah, you get the right matchups. They can be in the conference finals this year for sure. And they do play at Boston on Wednesday. So that's a must see game. And who'd have thought we'd be saying that a couple of years ago about Cleveland? I kind of love it.


Heroes. My heroes were undefeated. They predated clout. My heroes stung and didn't flow. There was no ego, so they were not want to flow. My heroes eroded. My heroes succumbed. My heroes were subdued. My heroes were lynched. My heroes were imprisoned in their mind and their bodies. My heroes became static. My heroes folded. My heroes stopped breathing. My heroes allowed the world to take them home. My heroes started to follow. My heroes became hollow. My heroes are still stuck in tomorrow. My heroes wallowed in despair. My heroes do not see a respite. My heroes do this in spite. My heroes do not bite. I was just bark. My heroes are now frightened of the dark. My heroes have been conscripted to a fallacy. My heroes no longer seek clemency. My heroes used to cry for human decency. My heroes used to demand common courtesy. My heroes used to.


So my name is Smolsovche, I work for the relcrypto team, and talk is why you shouldn't write your cryptographic algorithms yourself. Let's get to it. So everyone tells you that, right? You shouldn't write your own crypto. But usually don't tell you why. And I could tell you. So instead, this morning we're going to, I think, a little as excise how we could write the RSA function ourselves. I choose RSA because I recently had to refresh my memory only due to a nice little CD that came in. Let's get started. So this is fundamentally RSA. It's a pretty straightforward function. This is the encryption function. So C is your Cypher text. And all you need to do is take your message, expose it, shade it with the E exponent, which is called the public exponent, and then do modules. This is also, by the way, the way you do signatures at the same time. And this is how you decrypt the message. You take the Cypher text, you generate it, expose it with the private exponent, modules again, and you get back your message. Right? And I show you, there are no tricks. That's really what is the base of RSA. It's just that simple function. Or is it? So we need to look a little bit at those user's details people talk about a little bit, you know, when trying to implement crypto stuff. So first of all, we need to figure out if the function we saw is enough. And it isn't. Like, there are mathematical attacks on that kind of function. And we need to be aware of them to be able to actually build something that is secure. And very basic things are attacks like common modules. So when you want to create a private key in RSA, you create two big numbers called p and q, then multiply it together, you get modules, and then you derive your public and private exponent and stuff like that. In the end, what you do, you create two keys, a public and a private key. And because, at least back in the time, it was kind of time consuming to build a private key, some people thought, well, maybe we share some of the parameters we can speed up. Key creation will have someone to distribute the private keys to people and, you know, that will be faster. But that was broken. So never we use parameters. Always generate new fresh keys. Another thing is that people want to be able to decrypt fast. Because oftentimes, especially if you store stuff on this, you write once. So encryption is not that big of a deal, but you want to read many times. So if the encryption is fast, it's fast. And you can do that by having a small private exponent. Because then you don't need to exponentiate it often to get your message. Except that if you use a small exponent, you break the cryptosystem. So you have to have a larger private exponent to do that. And again, when you create your private keys, you have to be a little careful. Conversely, a small public store. If you want to have fast encryption, then maybe I have a small phone there so that it would be fast to encrypt stuff to me. Again, if it's too small, like three, which was used for quite a while, like literally the number three, then it's kind of broken. But if you use at least two to the 16, it's fine. And that's what's commonly actually used. However, that's not enough. Because RSA has a fixed size of the message it can encrypt, and that corresponds to the length of the key, you also have to do some padding. And better if you randomize, because if you don't, you break RSA again.  And you can search for this paper for 20 years of attacks on the RSA cryptosystem. And you'll get all the details you want to know and all the pointers to other papers to go in deep in the mathematics if you want to. So if you follow all of these things, we can do it, right? I'm going to write it. Wait a second. First of all, the equation is very simple, but I didn't say that it uses really, really, really big numbers. So you cannot really use your floating point units in a CPU, for example, to deal with it, because you need perfect precision, and floating point units are imprecise. And so you have to write or find an arbitrary precision library to deal with these huge numbers. And we are talking numbers allow 1,000 bits, 2,000 bits, 4,000 bits, or 8,000 bits or more. So they're really, really big, several, several hundred bytes for each single number. You also need a prime number generator, because you need to generate keys if you want to do any work. So, and that has to be a good one, has to have good tests for primality to make sure that it's actually a prime number, because if you don't use prime numbers in it, say, it's perfect. And you also need a cryptographic secure set of random generator normally, because we use more random during the encryption of the encryption. So, assuming we will do all that, and we cheat a little bit, because we choose GMP, a new multi-precision arithmetic library, I choose this one, because the library is using NETL, which is a project I was working for to fix the CDE. Then we cheat a little bit, because the math is handled there, and this is how you do the crypt. We better say, pretty simple, right? Just a single function call, done. Right? Good idea. But this is a bit slow, and your users might get a little bit of patience if you adjust this one. So, you go ahead and say, okay, let's try to make it a little bit faster, so at least people can actually use it, and use a little bit of math. I'm not going to explain what it is, but it has to do with trying to remind the theorem and other thing to make the private exponent small again, but in a non-probably secure way. Not probably in the sense that nobody has proven it's broken, but there's also no proof that it's not broken, but in 30 years nobody found a problem with this approach, and so we are fine. And so, now our simple function is just a little bit longer, 10 times as long, right? It's okay, right? It's still not a big deal. With this, we still have the crypt or sign, a message, so I think we're fine, right? Okay, maybe you're fine, but maybe not. I think we should go back to the paper I mentioned and read a little bit more, because we read about the math, but we didn't read what happens when you actually implement stuff the way I showed. So, there are a few things you need to consider when writing something like this. Math can be used not only to break the math system, but also to analyze the implementation of the implementation as points, and then use those points to recover keys. So, there are at least three famous attacks that I'm just going to mention very briefly. One is timing attacks, meaning that if you just run the function on math, depending on what the key is, you will have different things happening inside the CPU, and an attacker can actually time how you do things and recover your key. So, Rivest, which is one of the guys behind the ACRIN RSA, immediately found a way to defeat this attack, and using blinding and will fail later with blinding means. So, that can be taken care of. Another problem is random faults. So, believe it or not, computers sometimes have bugs in their CPUs. Mathematic libraries have bugs, and people make mistakes in general. The problem is with RSA, if you have a mistake in the math and you get the wrong signature, for example, in case you're making a signature rather than decrypting, and you then send out this signature broken, then you broke an RSA. With enough bad signature, you can recover the practice again. So, you have to be careful, but that's easy. You have to check that the signature is right, and you're done. And finally, one of the most famous Blakenbacher, I hope I said it right, attacks on PCS-1. PCS-1 is basically one of the standard ways of doing padding. As I said before, RSA can only sign or encrypt messages to a fixed size, but you usually want to send random stuff. So what you do, you just add some padding to your message, so you can reach the size of the key. So even if your message is small, or if your message is large, you can put in pieces, but at some point you will have to put some padding to complete the size of the key. Depending on how you do that, and how you handle errors in case of encryption, you may get into trouble, and Blakenbacher finds ways to basically recover enough information on the state-of-the-art machine to recover the keys again. So you really have to be careful about these things. And our function, which now is in here, basically, that applies a code, is not enough. So you have to do a little bit more stuff. So we cheat a little bit again. We say that we have just one function that will generate a very good random to do the blinding. And blinding is a way to avoid timing attacks. How timing attacks work. If you have a server like TLM, it means you can keep sending stuff to the server, because the server is there to serve requests by clients. And that means you have an oracle. It means that the server will keep trying to decrypt clients and stuff to them. And if you can repeat the operation over and over, you can basically time what happens into the machine, statistically, not a single person. And because you can send always the same message, you can time precisely always the same decryption if you don't do anything, or the same signature verification, depending on the protocol. So in order to have always a different computation, such that the state cannot be correlated with statistical methods, you basically multiply stuff with a random number, and then you do your computation, and then you multiply by the inverse.  And now our code is twice as big as before. But still, yeah, okay. Then we have to also check our signatures for random faults and stuff like that. So more or less as before, we just do some checking. And luckily for us, because the public exponent is small, we can just do an exponentiation without needing any tricks to make it fast. And we just check that our signature is okay. And so we've done that as well. We've called it two extractions more, which is a cheat, because underneath there is the mathematical library that's a bunch of stuff. But let's say it's just plus two. And then from Bleckenbacher, one of the defense that is using TLS is pretty simple. If you get an error in the decryption, because TLS uses this, let's say, masterly just to share session keys, we just pretend that the decryption was actually successful, we generate a random session key, and we keep using it, and the attacker doesn't know whether this is the right key or not. And so it cannot gain a lot of information about the state. We've done it? No. You're not the best one. So now comes the fun stuff that you had to deal with. Something that, and as also mentioned, side-channel attacks. If you've seen recent CPU issues with speculation, you don't have to go all the way to speculation to the side-channel attacks. With modern CPUs, caches are actually shared within a core, and you can run nice tricks like forcing the CPU to dump caches and then inspect whether a cache line was actually loaded by trying to load it and see how much time it takes. Basically, you can measure what another process is doing if you really know what to look for, and that measuring when it comes to our say is bad, because basically just like the timing attack, another attack like that. So we kind of go back to the drawing board a little bit, and a few researchers, late last year, came out with this paper, and the nine lives of Black and Black with Pat, which showed that basically most TLS implementations were affected or could be broken locally on the local machine. You're going to do that over the network. However, if you use maybe even virtualization, but if you use containers, or if you have root processes running a TLS server but you also have users on the same system, you are in the local case. And so you can attack other processes with these methods. So how do we go and try to defeat cache and time attacks? The problem with these attacks is that your CPU is doing work that can be measured by someone else. So we need to make the CPU do work so that every time you measure it, it's always exactly the same regardless of what you're doing, meaning regardless of the inputs that the attacker is sending you. So the attack is trying to send, you know, messages to a TLS server in another process and trying to measure what happens on the CPU at the same time. So, well, we need to go all the way down to the Mathematic Library, first of all, to solve these issues, because if the Mathematic Library takes one millisecond to do one exponentiation and 10 milliseconds to do another, depending on what are the inputs, that's wrong, because, as I said, they have to take the same time. Luckily for us, in the sense of me, when I was writing fixes, the GMP library already has a bunch of functions that are lower level and not the more abstract interface. They're called underbar second underbar, which hopefully means that they are saved from the point of view of always taking the same time with the condition that the input is the same size. But for our size, it's not a problem because we use just always the same key in the TLS server, so always the same key to the decryption. So the size of the key and the size of the exponent is always the same, so every time the attacker tries to send us something, we use always the same size. So with that, we should be kind of fine. So I'm not going through the details of that. But what happened is that we went from one function to compute a signature or a decryption to a function of about 10 lines, as we saw in the example, to eight function for a total of 100 lines. So that's kind of tenfold again. And to change the padding function, which was also one of the easiest to break side-channel-resistant functions, so about 20 lines to two functions for the lines. So by the end of their work, which lasted, it'll be more than a month, whenever we're almost 40 minutes with the up-sewn container, that's part of this CD. And I just want to show you a small example of what we had to do, because this was actually really hard, I have to say. Really hard, not because the code is necessarily any harder than any other code, but because you have to really put yourself in a mental state where you consider every possibility. When I say that you cannot run stuff that has two different times, it means you cannot use conditions. You cannot say if the key is larger than this or if the key has a one, and then do something or do something else, because you have taken two branches in the code, and that is measurable. The attacker could force the code out of the memory, just one of the two branches, and then measure which branch you took in the CPU, so you will know if the first bit was 1 or 0, if the second was 1 or 0, blah, blah, blah, blah, and then you can probably keep. This is simplified. It doesn't work like that, but that's what happens.  And this is kind of deceiving, and I'm going to show you why. Men copy is conditional here. You have to realize this condition and then try to fix. So this is just what happens at the end of the PKCS1 padding or depadding function in this case when you want to remove the pad and then find a message. As I said, because I would say you use this fixed size key, you have to use some padding, and then the rest is the message, okay? And the way the PKCS1 did that is really, really bad. Don't use PKCS1 anymore. There's other stuff. But it basically has this little header.  Then there's a terminator, let's say. This is your byte, and then you have your message.  So you have to resolve that. But assume you resolve that. Then you're left with, oh, I need to copy the message in the buffer to return to the application, right? But if you do that, I'm measurable. Because if you cause the decrypted message before the padding is done, to be forced out of memory or out of the cache, then this mem copy will just load the last part of the buffer in memory. And then again, the attacker can find out the length and from the length can find a bunch of information. So we have to copy that buffer into the destination buffer always with the same amount of operation regardless of the length of the message. The message could belong, you know, the whole thing or just be one byte. And so we end up with this thing, which I don't know how to describe, but it's really not nice. Notice that I'm cheating. I'm using also things called con men copy, which are special men copy functions that will, depending on the first parameter, copy to the destination buffer. What's in the destination buffer or what's in the source buffer? Again, in a way that an attacker cannot check from where you're copying it. So that's already cheating here. But again, in the end, what happens if you have a logarithmic time function where you end up copying the whole buffer, one byte, two bytes, four bytes, 16 bytes, and so on until you copy it all. And hopefully, if you got it right, it always takes the same time regardless of the length of the buffer. And so, yeah. Like, just look at this one. This one, it was an if then else statement. And now it's hopefully not conditional and still provides the length of the other condition. So, yeah. It's bad. So, from a naive to reasonably secure implementation, we increased, you know, from the just the basic RSI function all the way to the latest handling. That's toward a managed more code, which is quite a bit. And the takeaway for me is, you know the saying, you know, good, cheap, fast, choose two. In the security case, it's almost like choose one. It's either fast, fast, fast, very, very, very secure, or very, very simple. But you can't have even two. Or rather, you have to have a compromise between speed and security. But every time, you know, security is broken, you just have to give up speed to it. You just have to deal with it. And so, this is it for me. Questions? Thank you very much for your presentation. Just a little notification, but a small remark. Although Oven Assistant did not issue, didn't raise the CVE, they immediately fixed the, said, share our model attack. Well, if I'm not mistaken, the commit was on the same day when the paper was published. So the question, the remark was, although Oven Assistant did not publish the CVE, they actually fixed it the same day. So, we were in contact as well with the same researchers. And your statement is true. I will have to say, though, that Oven Assistant decided not raise the CVE by changing the definition of their threat model, saying, you know, local attacks are not a threat model for Oven Assistant. I reviewed their changes. They were lucky that they already had done a bunch of side channel resistant changes in their math library before. Also in RSA, so they had less code to write. However, I'm not 100% confident that they also did get right to the patches they did. I didn't look at the assembly. I looked at the patches. And they basically ended up doing what I would have done to some degree in my first revision that I did for Nettle, but we did the second revision for Nettle before we published. So, it's really hard to get this thing right. I don't think we got it right in Nettle either. There's probably some compiler optimization that we were not able to defeat. Maybe we defeated them in exactly 664, but not in other CPUs. It's really, really hard. And one of the issues that we don't have any test to figure out whether timing attacks like this are really defeated or not, because it's very hard to also write attacks like this. So, yeah, that's right, but they changed the definition. I think we're out of time. Thank you.